
.//Obj/Release_APT32F102.elf:     file format elf32-csky-little


Disassembly of section .text:

00000000 <vector_table>:
//UART_IO_G:0 1
//ReturnValue:NONE
/*************************************************************/
void UART_IO_Init(UART_NUM_TypeDef IO_UART_NUM , U8_T UART_IO_G)
{
    if (IO_UART_NUM==IO_UART0)
       0:	00000108 	.long	0x00000108
    {
		if(UART_IO_G==0)
       4:	00002fc6 	.long	0x00002fc6
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000044;       //PA0.1->RXD0, PA0.0->TXD0
       8:	00002fb6 	.long	0x00002fb6
       c:	00000180 	.long	0x00000180
      10:	00002fbe 	.long	0x00002fbe
      14:	00002f7c 	.long	0x00002f7c
    }
	 if (IO_UART_NUM==IO_UART2)
    {
        if(UART_IO_G==0)
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000077;       //PA0.0->RXD2, PA0.1->TXD2
      18:	00000180 	.long	0x00000180
		else if(UART_IO_G==1)
      1c:	00002fae 	.long	0x00002fae
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00700000;      //PA0.5->RXD0, PA0.12->TXD0
      20:	00002fa6 	.long	0x00002fa6
      24:	00000180 	.long	0x00000180
      28:	00000180 	.long	0x00000180
      2c:	00000180 	.long	0x00000180
      30:	00000180 	.long	0x00000180
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)  | 0x00070000;      
      34:	00000180 	.long	0x00000180
      38:	00000180 	.long	0x00000180
      3c:	00000180 	.long	0x00000180
      40:	00002f9e 	.long	0x00002f9e
     if (IO_UART_NUM==IO_UART1)
      44:	00002f96 	.long	0x00002f96
        if(UART_IO_G==0)
      48:	00002f8e 	.long	0x00002f8e
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000007;       //PA0.13->RXD1, PB0.0->TXD1
      4c:	00002f86 	.long	0x00002f86
      50:	00000180 	.long	0x00000180
      54:	00000180 	.long	0x00000180
      58:	00000180 	.long	0x00000180
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00700000;       
      5c:	00000180 	.long	0x00000180
      60:	00000180 	.long	0x00000180
      64:	00000180 	.long	0x00000180
      68:	00000180 	.long	0x00000180
			GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000;        //PA0.15->RXD1, PA0.14->TXD1
      6c:	00000180 	.long	0x00000180
      70:	00000180 	.long	0x00000180
		else if(UART_IO_G==1)
      74:	00000180 	.long	0x00000180
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000;        //PA0.4->RXD1, PA0.3->TXD1
      78:	00000180 	.long	0x00000180
      7c:	00002f7e 	.long	0x00002f7e
      80:	00002814 	.long	0x00002814
      84:	00002834 	.long	0x00002834
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000;        //PA0.7->RXD2, PA0.6->TXD2
		}
		else if(UART_IO_G==2)
		{
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
      88:	000028f8 	.long	0x000028f8
		else if(UART_IO_G==2)
      8c:	00002fd6 	.long	0x00002fd6
			GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000;        //PA0.15->RXD1, PA0.14->TXD1
      90:	000029d4 	.long	0x000029d4
      94:	00000180 	.long	0x00000180
      98:	00002b50 	.long	0x00002b50
      9c:	00002e24 	.long	0x00002e24
	 if (IO_UART_NUM==IO_UART2)
      a0:	00002e40 	.long	0x00002e40
        if(UART_IO_G==0)
      a4:	00002b80 	.long	0x00002b80
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000077;       //PA0.0->RXD2, PA0.1->TXD2
      a8:	00000180 	.long	0x00000180
      ac:	00000180 	.long	0x00000180
      b0:	00002c14 	.long	0x00002c14
      b4:	00002c78 	.long	0x00002c78
		else if(UART_IO_G==1)
      b8:	00002cc4 	.long	0x00002cc4
			GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000;        //PA0.7->RXD2, PA0.6->TXD2
      bc:	00002d10 	.long	0x00002d10
      c0:	00000180 	.long	0x00000180
      c4:	00002d5c 	.long	0x00002d5c
      c8:	00000180 	.long	0x00000180
		else if(UART_IO_G==2)
      cc:	00002d70 	.long	0x00002d70
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
      d0:	00002da8 	.long	0x00002da8
      d4:	00002e5c 	.long	0x00002e5c
      d8:	00002e84 	.long	0x00002e84
      dc:	00003fa4 	.long	0x00003fa4
      e0:	00002fce 	.long	0x00002fce
      e4:	00000180 	.long	0x00000180
      e8:	00002ed4 	.long	0x00002ed4
      ec:	00000180 	.long	0x00000180
      f0:	00002f04 	.long	0x00002f04
      f4:	00002f3c 	.long	0x00002f3c
      f8:	00000180 	.long	0x00000180
      fc:	00000180 	.long	0x00000180
	...

00000108 <__start>:
//  .long __start
__start:

	
  //initialize all registers
  movi r0, 0
     108:	3000      	movi      	r0, 0
  movi r1, 0
     10a:	3100      	movi      	r1, 0
  movi r2, 0
     10c:	3200      	movi      	r2, 0
  movi r3, 0
     10e:	3300      	movi      	r3, 0
  movi r4, 0
     110:	3400      	movi      	r4, 0
  movi r5, 0
     112:	3500      	movi      	r5, 0
  movi r6, 0
     114:	3600      	movi      	r6, 0
  movi r7, 0
     116:	3700      	movi      	r7, 0
  //movi r13, 0
  //movi r14, 0
  //movi r15, 0

//set VBR
  lrw r2, vector_table
     118:	105b      	lrw      	r2, 0x0	// 184 <DummyHandler+0x4>
  mtcr r2, cr<1,0>
     11a:	c0026421 	mtcr      	r2, cr<1, 0>

//enable EE bit of psr
  mfcr r2, cr<0,0>
     11e:	c0006022 	mfcr      	r2, cr<0, 0>
  bseti r2, r2, 8
     122:	3aa8      	bseti      	r2, 8
  mtcr r2, cr<0,0>
     124:	c0026420 	mtcr      	r2, cr<0, 0>
//  st.w    r2, (r1,0x4)
//  movi    r2, 0x1
//  st.w    r2, (r1,0x0)

//disable power peak 
  lrw     r1, 0xe000ef90
     128:	1038      	lrw      	r1, 0xe000ef90	// 188 <DummyHandler+0x8>
  movi    r2, 0x0
     12a:	3200      	movi      	r2, 0
  st.w    r2, (r1, 0x0)
     12c:	b140      	st.w      	r2, (r1, 0x0)



//initialize kernel stack
  lrw  r7, __kernel_stack
     12e:	10f8      	lrw      	r7, 0x20000ff8	// 18c <DummyHandler+0xc>
  mov r14,r7
     130:	6f9f      	mov      	r14, r7
  subi r6,r7,0x4
     132:	5fcf      	subi      	r6, r7, 4

  //lrw  r3, 0x40
  lrw  r3, 0x04
     134:	3304      	movi      	r3, 4
	
  subu r4, r7, r3
     136:	5f8d      	subu      	r4, r7, r3
  lrw  r5, 0x0
     138:	3500      	movi      	r5, 0

0000013a <INIT_KERLE_STACK>:
INIT_KERLE_STACK:
  addi r4, 0x4
     13a:	2403      	addi      	r4, 4
  st.w r5, (r4)
     13c:	b4a0      	st.w      	r5, (r4, 0x0)
  //cmphs r7, r4
  cmphs r6, r4
     13e:	6518      	cmphs      	r6, r4
  bt  INIT_KERLE_STACK
     140:	0bfd      	bt      	0x13a	// 13a <INIT_KERLE_STACK>

00000142 <__to_main>:
        
__to_main:
  lrw r0,__main
     142:	1014      	lrw      	r0, 0x1724	// 190 <DummyHandler+0x10>
  jsr r0
     144:	7bc1      	jsr      	r0
  mov r0, r0
     146:	6c03      	mov      	r0, r0
  mov r0, r0
     148:	6c03      	mov      	r0, r0


  
  lrw r15, __exit
     14a:	ea8f0013 	lrw      	r15, 0x15c	// 194 <DummyHandler+0x14>
  lrw r0,main
     14e:	1013      	lrw      	r0, 0x2fde	// 198 <DummyHandler+0x18>
  jmp r0
     150:	7800      	jmp      	r0
  mov r0, r0
     152:	6c03      	mov      	r0, r0
  mov r0, r0
     154:	6c03      	mov      	r0, r0
  mov r0, r0
     156:	6c03      	mov      	r0, r0
  mov r0, r0
     158:	6c03      	mov      	r0, r0
  mov r0, r0
     15a:	6c03      	mov      	r0, r0

0000015c <__exit>:

.export __exit
__exit:

  lrw r4, 0x20003000
     15c:	1090      	lrw      	r4, 0x20003000	// 19c <DummyHandler+0x1c>
  //lrw r5, 0x0
  mov r5, r0
     15e:	6d43      	mov      	r5, r0
  st.w r5, (r4)
     160:	b4a0      	st.w      	r5, (r4, 0x0)

  mfcr r1, cr<0,0>
     162:	c0006021 	mfcr      	r1, cr<0, 0>
  lrw  r1, 0xFFFF
     166:	102f      	lrw      	r1, 0xffff	// 1a0 <DummyHandler+0x20>
  mtcr r1, cr<11,0>
     168:	c001642b 	mtcr      	r1, cr<11, 0>
  lrw     r1, 0xFFF
     16c:	102e      	lrw      	r1, 0xfff	// 1a4 <DummyHandler+0x24>
  movi    r0, 0x0
     16e:	3000      	movi      	r0, 0
  st      r1, (r0)
     170:	b020      	st.w      	r1, (r0, 0x0)

00000172 <__fail>:

.export __fail
__fail:
  lrw  r1, 0xEEEE
     172:	102e      	lrw      	r1, 0xeeee	// 1a8 <DummyHandler+0x28>
  mtcr r1, cr<11,0>
     174:	c001642b 	mtcr      	r1, cr<11, 0>
  lrw     r1, 0xEEE
     178:	102d      	lrw      	r1, 0xeee	// 1ac <DummyHandler+0x2c>
  movi    r0, 0x0
     17a:	3000      	movi      	r0, 0
  st      r1, (r0)
     17c:	b020      	st.w      	r1, (r0, 0x0)

0000017e <__dummy>:

__dummy:
  br      __fail
     17e:	07fa      	br      	0x172	// 172 <__fail>

00000180 <DummyHandler>:

.export DummyHandler
DummyHandler:
  br      __fail
     180:	07f9      	br      	0x172	// 172 <__fail>
     182:	0000      	.short	0x0000
     184:	00000000 	.long	0x00000000
     188:	e000ef90 	.long	0xe000ef90
     18c:	20000ff8 	.long	0x20000ff8
     190:	00001724 	.long	0x00001724
     194:	0000015c 	.long	0x0000015c
     198:	00002fde 	.long	0x00002fde
     19c:	20003000 	.long	0x20003000
     1a0:	0000ffff 	.long	0x0000ffff
     1a4:	00000fff 	.long	0x00000fff
     1a8:	0000eeee 	.long	0x0000eeee
     1ac:	00000eee 	.long	0x00000eee

000001b0 <___gnu_csky_case_uqi>:
     1b0:	1421      	subi      	r14, r14, 4
     1b2:	b820      	st.w      	r1, (r14, 0x0)
     1b4:	6c7f      	mov      	r1, r15
     1b6:	6040      	addu      	r1, r0
     1b8:	8120      	ld.b      	r1, (r1, 0x0)
     1ba:	4121      	lsli      	r1, r1, 1
     1bc:	63c4      	addu      	r15, r1
     1be:	9820      	ld.w      	r1, (r14, 0x0)
     1c0:	1401      	addi      	r14, r14, 4
     1c2:	783c      	jmp      	r15

000001c4 <_fpadd_parts>:
     1c4:	14c4      	push      	r4-r7
     1c6:	1421      	subi      	r14, r14, 4
     1c8:	9060      	ld.w      	r3, (r0, 0x0)
     1ca:	3b01      	cmphsi      	r3, 2
     1cc:	0c3b      	bf      	0x242	// 242 <_fpadd_parts+0x7e>
     1ce:	9180      	ld.w      	r4, (r1, 0x0)
     1d0:	3c01      	cmphsi      	r4, 2
     1d2:	0c3a      	bf      	0x246	// 246 <_fpadd_parts+0x82>
     1d4:	3b44      	cmpnei      	r3, 4
     1d6:	0c76      	bf      	0x2c2	// 2c2 <_fpadd_parts+0xfe>
     1d8:	3c44      	cmpnei      	r4, 4
     1da:	0c36      	bf      	0x246	// 246 <_fpadd_parts+0x82>
     1dc:	3c42      	cmpnei      	r4, 2
     1de:	0c5c      	bf      	0x296	// 296 <_fpadd_parts+0xd2>
     1e0:	3b42      	cmpnei      	r3, 2
     1e2:	0c32      	bf      	0x246	// 246 <_fpadd_parts+0x82>
     1e4:	90a2      	ld.w      	r5, (r0, 0x8)
     1e6:	91e2      	ld.w      	r7, (r1, 0x8)
     1e8:	5d9d      	subu      	r4, r5, r7
     1ea:	9063      	ld.w      	r3, (r0, 0xc)
     1ec:	3cdf      	btsti      	r4, 31
     1ee:	b860      	st.w      	r3, (r14, 0x0)
     1f0:	6d93      	mov      	r6, r4
     1f2:	9163      	ld.w      	r3, (r1, 0xc)
     1f4:	086f      	bt      	0x2d2	// 2d2 <_fpadd_parts+0x10e>
     1f6:	3e3f      	cmplti      	r6, 32
     1f8:	082a      	bt      	0x24c	// 24c <_fpadd_parts+0x88>
     1fa:	655d      	cmplt      	r7, r5
     1fc:	0c5f      	bf      	0x2ba	// 2ba <_fpadd_parts+0xf6>
     1fe:	3300      	movi      	r3, 0
     200:	9001      	ld.w      	r0, (r0, 0x4)
     202:	9121      	ld.w      	r1, (r1, 0x4)
     204:	6442      	cmpne      	r0, r1
     206:	0c33      	bf      	0x26c	// 26c <_fpadd_parts+0xa8>
     208:	3840      	cmpnei      	r0, 0
     20a:	9820      	ld.w      	r1, (r14, 0x0)
     20c:	0c54      	bf      	0x2b4	// 2b4 <_fpadd_parts+0xf0>
     20e:	60c6      	subu      	r3, r1
     210:	3bdf      	btsti      	r3, 31
     212:	0863      	bt      	0x2d8	// 2d8 <_fpadd_parts+0x114>
     214:	3100      	movi      	r1, 0
     216:	b221      	st.w      	r1, (r2, 0x4)
     218:	b2a2      	st.w      	r5, (r2, 0x8)
     21a:	b263      	st.w      	r3, (r2, 0xc)
     21c:	5b23      	subi      	r1, r3, 1
     21e:	1293      	lrw      	r4, 0x3fffffff	// 368 <__subsf3+0x34>
     220:	6504      	cmphs      	r1, r4
     222:	080b      	bt      	0x238	// 238 <_fpadd_parts+0x74>
     224:	9222      	ld.w      	r1, (r2, 0x8)
     226:	2900      	subi      	r1, 1
     228:	4361      	lsli      	r3, r3, 1
     22a:	5b03      	subi      	r0, r3, 1
     22c:	6410      	cmphs      	r4, r0
     22e:	6d47      	mov      	r5, r1
     230:	2900      	subi      	r1, 1
     232:	0bfb      	bt      	0x228	// 228 <_fpadd_parts+0x64>
     234:	b263      	st.w      	r3, (r2, 0xc)
     236:	b2a2      	st.w      	r5, (r2, 0x8)
     238:	3103      	movi      	r1, 3
     23a:	3bdf      	btsti      	r3, 31
     23c:	b220      	st.w      	r1, (r2, 0x0)
     23e:	0821      	bt      	0x280	// 280 <_fpadd_parts+0xbc>
     240:	6c0b      	mov      	r0, r2
     242:	1401      	addi      	r14, r14, 4
     244:	1484      	pop      	r4-r7
     246:	6c07      	mov      	r0, r1
     248:	1401      	addi      	r14, r14, 4
     24a:	1484      	pop      	r4-r7
     24c:	3c20      	cmplti      	r4, 1
     24e:	084c      	bt      	0x2e6	// 2e6 <_fpadd_parts+0x122>
     250:	3401      	movi      	r4, 1
     252:	7118      	lsl      	r4, r6
     254:	2c00      	subi      	r4, 1
     256:	6dcf      	mov      	r7, r3
     258:	68d0      	and      	r3, r4
     25a:	3b40      	cmpnei      	r3, 0
     25c:	9001      	ld.w      	r0, (r0, 0x4)
     25e:	3300      	movi      	r3, 0
     260:	9121      	ld.w      	r1, (r1, 0x4)
     262:	60cd      	addc      	r3, r3
     264:	71d9      	lsr      	r7, r6
     266:	6442      	cmpne      	r0, r1
     268:	6cdc      	or      	r3, r7
     26a:	0bcf      	bt      	0x208	// 208 <_fpadd_parts+0x44>
     26c:	9820      	ld.w      	r1, (r14, 0x0)
     26e:	604c      	addu      	r1, r3
     270:	6cc7      	mov      	r3, r1
     272:	b223      	st.w      	r1, (r2, 0xc)
     274:	3bdf      	btsti      	r3, 31
     276:	3103      	movi      	r1, 3
     278:	b201      	st.w      	r0, (r2, 0x4)
     27a:	b2a2      	st.w      	r5, (r2, 0x8)
     27c:	b220      	st.w      	r1, (r2, 0x0)
     27e:	0fe1      	bf      	0x240	// 240 <_fpadd_parts+0x7c>
     280:	3001      	movi      	r0, 1
     282:	4b21      	lsri      	r1, r3, 1
     284:	68c0      	and      	r3, r0
     286:	6cc4      	or      	r3, r1
     288:	b263      	st.w      	r3, (r2, 0xc)
     28a:	9262      	ld.w      	r3, (r2, 0x8)
     28c:	2300      	addi      	r3, 1
     28e:	6c0b      	mov      	r0, r2
     290:	b262      	st.w      	r3, (r2, 0x8)
     292:	1401      	addi      	r14, r14, 4
     294:	1484      	pop      	r4-r7
     296:	3b42      	cmpnei      	r3, 2
     298:	0bd5      	bt      	0x242	// 242 <_fpadd_parts+0x7e>
     29a:	b260      	st.w      	r3, (r2, 0x0)
     29c:	9061      	ld.w      	r3, (r0, 0x4)
     29e:	b261      	st.w      	r3, (r2, 0x4)
     2a0:	9062      	ld.w      	r3, (r0, 0x8)
     2a2:	b262      	st.w      	r3, (r2, 0x8)
     2a4:	9063      	ld.w      	r3, (r0, 0xc)
     2a6:	9121      	ld.w      	r1, (r1, 0x4)
     2a8:	b263      	st.w      	r3, (r2, 0xc)
     2aa:	9061      	ld.w      	r3, (r0, 0x4)
     2ac:	68c4      	and      	r3, r1
     2ae:	b261      	st.w      	r3, (r2, 0x4)
     2b0:	6c0b      	mov      	r0, r2
     2b2:	07c8      	br      	0x242	// 242 <_fpadd_parts+0x7e>
     2b4:	604e      	subu      	r1, r3
     2b6:	6cc7      	mov      	r3, r1
     2b8:	07ac      	br      	0x210	// 210 <_fpadd_parts+0x4c>
     2ba:	3400      	movi      	r4, 0
     2bc:	6d5f      	mov      	r5, r7
     2be:	b880      	st.w      	r4, (r14, 0x0)
     2c0:	07a0      	br      	0x200	// 200 <_fpadd_parts+0x3c>
     2c2:	3c44      	cmpnei      	r4, 4
     2c4:	0bbf      	bt      	0x242	// 242 <_fpadd_parts+0x7e>
     2c6:	9041      	ld.w      	r2, (r0, 0x4)
     2c8:	9161      	ld.w      	r3, (r1, 0x4)
     2ca:	64ca      	cmpne      	r2, r3
     2cc:	0fbb      	bf      	0x242	// 242 <_fpadd_parts+0x7e>
     2ce:	1108      	lrw      	r0, 0x58d4	// 36c <__subsf3+0x38>
     2d0:	07b9      	br      	0x242	// 242 <_fpadd_parts+0x7e>
     2d2:	3600      	movi      	r6, 0
     2d4:	6192      	subu      	r6, r4
     2d6:	0790      	br      	0x1f6	// 1f6 <_fpadd_parts+0x32>
     2d8:	3101      	movi      	r1, 1
     2da:	b221      	st.w      	r1, (r2, 0x4)
     2dc:	3100      	movi      	r1, 0
     2de:	596d      	subu      	r3, r1, r3
     2e0:	b2a2      	st.w      	r5, (r2, 0x8)
     2e2:	b263      	st.w      	r3, (r2, 0xc)
     2e4:	079c      	br      	0x21c	// 21c <_fpadd_parts+0x58>
     2e6:	3c40      	cmpnei      	r4, 0
     2e8:	0f8c      	bf      	0x200	// 200 <_fpadd_parts+0x3c>
     2ea:	3401      	movi      	r4, 1
     2ec:	98e0      	ld.w      	r7, (r14, 0x0)
     2ee:	7118      	lsl      	r4, r6
     2f0:	71d9      	lsr      	r7, r6
     2f2:	6158      	addu      	r5, r6
     2f4:	2c00      	subi      	r4, 1
     2f6:	98c0      	ld.w      	r6, (r14, 0x0)
     2f8:	6918      	and      	r4, r6
     2fa:	3c40      	cmpnei      	r4, 0
     2fc:	3400      	movi      	r4, 0
     2fe:	6111      	addc      	r4, r4
     300:	6dd0      	or      	r7, r4
     302:	b8e0      	st.w      	r7, (r14, 0x0)
     304:	077e      	br      	0x200	// 200 <_fpadd_parts+0x3c>
	...

00000308 <__addsf3>:
     308:	14d0      	push      	r15
     30a:	142e      	subi      	r14, r14, 56
     30c:	b800      	st.w      	r0, (r14, 0x0)
     30e:	b821      	st.w      	r1, (r14, 0x4)
     310:	6c3b      	mov      	r0, r14
     312:	1902      	addi      	r1, r14, 8
     314:	e0000792 	bsr      	0x1238	// 1238 <__unpack_f>
     318:	1906      	addi      	r1, r14, 24
     31a:	1801      	addi      	r0, r14, 4
     31c:	e000078e 	bsr      	0x1238	// 1238 <__unpack_f>
     320:	1a0a      	addi      	r2, r14, 40
     322:	1906      	addi      	r1, r14, 24
     324:	1802      	addi      	r0, r14, 8
     326:	e3ffff4f 	bsr      	0x1c4	// 1c4 <_fpadd_parts>
     32a:	e000072f 	bsr      	0x1188	// 1188 <__pack_f>
     32e:	140e      	addi      	r14, r14, 56
     330:	1490      	pop      	r15
	...

00000334 <__subsf3>:
     334:	14d0      	push      	r15
     336:	142e      	subi      	r14, r14, 56
     338:	b800      	st.w      	r0, (r14, 0x0)
     33a:	b821      	st.w      	r1, (r14, 0x4)
     33c:	6c3b      	mov      	r0, r14
     33e:	1902      	addi      	r1, r14, 8
     340:	e000077c 	bsr      	0x1238	// 1238 <__unpack_f>
     344:	1906      	addi      	r1, r14, 24
     346:	1801      	addi      	r0, r14, 4
     348:	e0000778 	bsr      	0x1238	// 1238 <__unpack_f>
     34c:	9867      	ld.w      	r3, (r14, 0x1c)
     34e:	3201      	movi      	r2, 1
     350:	6cc9      	xor      	r3, r2
     352:	1906      	addi      	r1, r14, 24
     354:	1a0a      	addi      	r2, r14, 40
     356:	1802      	addi      	r0, r14, 8
     358:	b867      	st.w      	r3, (r14, 0x1c)
     35a:	e3ffff35 	bsr      	0x1c4	// 1c4 <_fpadd_parts>
     35e:	e0000715 	bsr      	0x1188	// 1188 <__pack_f>
     362:	140e      	addi      	r14, r14, 56
     364:	1490      	pop      	r15
     366:	0000      	bkpt
     368:	3fffffff 	.long	0x3fffffff
     36c:	000058d4 	.long	0x000058d4

00000370 <__mulsf3>:
     370:	14d4      	push      	r4-r7, r15
     372:	1430      	subi      	r14, r14, 64
     374:	b802      	st.w      	r0, (r14, 0x8)
     376:	b823      	st.w      	r1, (r14, 0xc)
     378:	1802      	addi      	r0, r14, 8
     37a:	1904      	addi      	r1, r14, 16
     37c:	e000075e 	bsr      	0x1238	// 1238 <__unpack_f>
     380:	1908      	addi      	r1, r14, 32
     382:	1803      	addi      	r0, r14, 12
     384:	e000075a 	bsr      	0x1238	// 1238 <__unpack_f>
     388:	9864      	ld.w      	r3, (r14, 0x10)
     38a:	3b01      	cmphsi      	r3, 2
     38c:	0c4b      	bf      	0x422	// 422 <__mulsf3+0xb2>
     38e:	9848      	ld.w      	r2, (r14, 0x20)
     390:	3a01      	cmphsi      	r2, 2
     392:	0c3b      	bf      	0x408	// 408 <__mulsf3+0x98>
     394:	3b44      	cmpnei      	r3, 4
     396:	0c44      	bf      	0x41e	// 41e <__mulsf3+0xae>
     398:	3a44      	cmpnei      	r2, 4
     39a:	0c35      	bf      	0x404	// 404 <__mulsf3+0x94>
     39c:	3b42      	cmpnei      	r3, 2
     39e:	0c42      	bf      	0x422	// 422 <__mulsf3+0xb2>
     3a0:	3a42      	cmpnei      	r2, 2
     3a2:	0c33      	bf      	0x408	// 408 <__mulsf3+0x98>
     3a4:	9867      	ld.w      	r3, (r14, 0x1c)
     3a6:	b860      	st.w      	r3, (r14, 0x0)
     3a8:	986b      	ld.w      	r3, (r14, 0x2c)
     3aa:	6c8f      	mov      	r2, r3
     3ac:	b861      	st.w      	r3, (r14, 0x4)
     3ae:	9800      	ld.w      	r0, (r14, 0x0)
     3b0:	3300      	movi      	r3, 0
     3b2:	3100      	movi      	r1, 0
     3b4:	e00006a8 	bsr      	0x1104	// 1104 <__muldi3>
     3b8:	98c6      	ld.w      	r6, (r14, 0x18)
     3ba:	984a      	ld.w      	r2, (r14, 0x28)
     3bc:	6098      	addu      	r2, r6
     3be:	5ac6      	addi      	r6, r2, 2
     3c0:	b8ce      	st.w      	r6, (r14, 0x38)
     3c2:	98e5      	ld.w      	r7, (r14, 0x14)
     3c4:	98c9      	ld.w      	r6, (r14, 0x24)
     3c6:	659e      	cmpne      	r7, r6
     3c8:	3400      	movi      	r4, 0
     3ca:	6111      	addc      	r4, r4
     3cc:	39df      	btsti      	r1, 31
     3ce:	6cc7      	mov      	r3, r1
     3d0:	6d43      	mov      	r5, r0
     3d2:	b88d      	st.w      	r4, (r14, 0x34)
     3d4:	0c3b      	bf      	0x44a	// 44a <__mulsf3+0xda>
     3d6:	39c0      	btsti      	r1, 0
     3d8:	2202      	addi      	r2, 3
     3da:	0811      	bt      	0x3fc	// 3fc <__mulsf3+0x8c>
     3dc:	4961      	lsri      	r3, r1, 1
     3de:	b84e      	st.w      	r2, (r14, 0x38)
     3e0:	317f      	movi      	r1, 127
     3e2:	6c8f      	mov      	r2, r3
     3e4:	6884      	and      	r2, r1
     3e6:	3040      	movi      	r0, 64
     3e8:	640a      	cmpne      	r2, r0
     3ea:	0c27      	bf      	0x438	// 438 <__mulsf3+0xc8>
     3ec:	b86f      	st.w      	r3, (r14, 0x3c)
     3ee:	3303      	movi      	r3, 3
     3f0:	b86c      	st.w      	r3, (r14, 0x30)
     3f2:	180c      	addi      	r0, r14, 48
     3f4:	e00006ca 	bsr      	0x1188	// 1188 <__pack_f>
     3f8:	1410      	addi      	r14, r14, 64
     3fa:	1494      	pop      	r4-r7, r15
     3fc:	4801      	lsri      	r0, r0, 1
     3fe:	38bf      	bseti      	r0, 31
     400:	6d43      	mov      	r5, r0
     402:	07ed      	br      	0x3dc	// 3dc <__mulsf3+0x6c>
     404:	3b42      	cmpnei      	r3, 2
     406:	0c20      	bf      	0x446	// 446 <__mulsf3+0xd6>
     408:	9869      	ld.w      	r3, (r14, 0x24)
     40a:	9845      	ld.w      	r2, (r14, 0x14)
     40c:	64ca      	cmpne      	r2, r3
     40e:	3300      	movi      	r3, 0
     410:	60cd      	addc      	r3, r3
     412:	1808      	addi      	r0, r14, 32
     414:	b869      	st.w      	r3, (r14, 0x24)
     416:	e00006b9 	bsr      	0x1188	// 1188 <__pack_f>
     41a:	1410      	addi      	r14, r14, 64
     41c:	1494      	pop      	r4-r7, r15
     41e:	3a42      	cmpnei      	r2, 2
     420:	0c13      	bf      	0x446	// 446 <__mulsf3+0xd6>
     422:	9845      	ld.w      	r2, (r14, 0x14)
     424:	9869      	ld.w      	r3, (r14, 0x24)
     426:	64ca      	cmpne      	r2, r3
     428:	3300      	movi      	r3, 0
     42a:	60cd      	addc      	r3, r3
     42c:	1804      	addi      	r0, r14, 16
     42e:	b865      	st.w      	r3, (r14, 0x14)
     430:	e00006ac 	bsr      	0x1188	// 1188 <__pack_f>
     434:	1410      	addi      	r14, r14, 64
     436:	1494      	pop      	r4-r7, r15
     438:	3bc7      	btsti      	r3, 7
     43a:	0bd9      	bt      	0x3ec	// 3ec <__mulsf3+0x7c>
     43c:	3d40      	cmpnei      	r5, 0
     43e:	0fd7      	bf      	0x3ec	// 3ec <__mulsf3+0x7c>
     440:	60c8      	addu      	r3, r2
     442:	68c5      	andn      	r3, r1
     444:	07d4      	br      	0x3ec	// 3ec <__mulsf3+0x7c>
     446:	100d      	lrw      	r0, 0x58d4	// 478 <__mulsf3+0x108>
     448:	07d6      	br      	0x3f4	// 3f4 <__mulsf3+0x84>
     44a:	108d      	lrw      	r4, 0x3fffffff	// 47c <__mulsf3+0x10c>
     44c:	6450      	cmphs      	r4, r1
     44e:	0fc9      	bf      	0x3e0	// 3e0 <__mulsf3+0x70>
     450:	2200      	addi      	r2, 1
     452:	3001      	movi      	r0, 1
     454:	6c53      	mov      	r1, r4
     456:	0405      	br      	0x460	// 460 <__mulsf3+0xf0>
     458:	64c4      	cmphs      	r1, r3
     45a:	45a1      	lsli      	r5, r5, 1
     45c:	2a00      	subi      	r2, 1
     45e:	0c0a      	bf      	0x472	// 472 <__mulsf3+0x102>
     460:	3ddf      	btsti      	r5, 31
     462:	6d0b      	mov      	r4, r2
     464:	4361      	lsli      	r3, r3, 1
     466:	0ff9      	bf      	0x458	// 458 <__mulsf3+0xe8>
     468:	6cc0      	or      	r3, r0
     46a:	64c4      	cmphs      	r1, r3
     46c:	45a1      	lsli      	r5, r5, 1
     46e:	2a00      	subi      	r2, 1
     470:	0bf8      	bt      	0x460	// 460 <__mulsf3+0xf0>
     472:	b88e      	st.w      	r4, (r14, 0x38)
     474:	07b6      	br      	0x3e0	// 3e0 <__mulsf3+0x70>
     476:	0000      	bkpt
     478:	000058d4 	.long	0x000058d4
     47c:	3fffffff 	.long	0x3fffffff

00000480 <__divsf3>:
     480:	14d1      	push      	r4, r15
     482:	142a      	subi      	r14, r14, 40
     484:	b800      	st.w      	r0, (r14, 0x0)
     486:	b821      	st.w      	r1, (r14, 0x4)
     488:	6c3b      	mov      	r0, r14
     48a:	1902      	addi      	r1, r14, 8
     48c:	e00006d6 	bsr      	0x1238	// 1238 <__unpack_f>
     490:	1906      	addi      	r1, r14, 24
     492:	1801      	addi      	r0, r14, 4
     494:	e00006d2 	bsr      	0x1238	// 1238 <__unpack_f>
     498:	9862      	ld.w      	r3, (r14, 0x8)
     49a:	3b01      	cmphsi      	r3, 2
     49c:	0c2c      	bf      	0x4f4	// 4f4 <__divsf3+0x74>
     49e:	9826      	ld.w      	r1, (r14, 0x18)
     4a0:	3901      	cmphsi      	r1, 2
     4a2:	0c46      	bf      	0x52e	// 52e <__divsf3+0xae>
     4a4:	9843      	ld.w      	r2, (r14, 0xc)
     4a6:	9807      	ld.w      	r0, (r14, 0x1c)
     4a8:	6c81      	xor      	r2, r0
     4aa:	3b44      	cmpnei      	r3, 4
     4ac:	b843      	st.w      	r2, (r14, 0xc)
     4ae:	0c28      	bf      	0x4fe	// 4fe <__divsf3+0x7e>
     4b0:	3b42      	cmpnei      	r3, 2
     4b2:	0c26      	bf      	0x4fe	// 4fe <__divsf3+0x7e>
     4b4:	3944      	cmpnei      	r1, 4
     4b6:	0c2c      	bf      	0x50e	// 50e <__divsf3+0x8e>
     4b8:	3942      	cmpnei      	r1, 2
     4ba:	0c36      	bf      	0x526	// 526 <__divsf3+0xa6>
     4bc:	9844      	ld.w      	r2, (r14, 0x10)
     4be:	9868      	ld.w      	r3, (r14, 0x20)
     4c0:	608e      	subu      	r2, r3
     4c2:	9809      	ld.w      	r0, (r14, 0x24)
     4c4:	9865      	ld.w      	r3, (r14, 0x14)
     4c6:	640c      	cmphs      	r3, r0
     4c8:	b844      	st.w      	r2, (r14, 0x10)
     4ca:	0c1e      	bf      	0x506	// 506 <__divsf3+0x86>
     4cc:	3180      	movi      	r1, 128
     4ce:	321f      	movi      	r2, 31
     4d0:	3400      	movi      	r4, 0
     4d2:	4137      	lsli      	r1, r1, 23
     4d4:	640c      	cmphs      	r3, r0
     4d6:	0c03      	bf      	0x4dc	// 4dc <__divsf3+0x5c>
     4d8:	6d04      	or      	r4, r1
     4da:	60c2      	subu      	r3, r0
     4dc:	2a00      	subi      	r2, 1
     4de:	3a40      	cmpnei      	r2, 0
     4e0:	4921      	lsri      	r1, r1, 1
     4e2:	4361      	lsli      	r3, r3, 1
     4e4:	0bf8      	bt      	0x4d4	// 4d4 <__divsf3+0x54>
     4e6:	327f      	movi      	r2, 127
     4e8:	6c53      	mov      	r1, r4
     4ea:	6848      	and      	r1, r2
     4ec:	3040      	movi      	r0, 64
     4ee:	6406      	cmpne      	r1, r0
     4f0:	0c14      	bf      	0x518	// 518 <__divsf3+0x98>
     4f2:	b885      	st.w      	r4, (r14, 0x14)
     4f4:	1802      	addi      	r0, r14, 8
     4f6:	e0000649 	bsr      	0x1188	// 1188 <__pack_f>
     4fa:	140a      	addi      	r14, r14, 40
     4fc:	1491      	pop      	r4, r15
     4fe:	644e      	cmpne      	r3, r1
     500:	0bfa      	bt      	0x4f4	// 4f4 <__divsf3+0x74>
     502:	100d      	lrw      	r0, 0x58d4	// 534 <__divsf3+0xb4>
     504:	07f9      	br      	0x4f6	// 4f6 <__divsf3+0x76>
     506:	2a00      	subi      	r2, 1
     508:	4361      	lsli      	r3, r3, 1
     50a:	b844      	st.w      	r2, (r14, 0x10)
     50c:	07e0      	br      	0x4cc	// 4cc <__divsf3+0x4c>
     50e:	3300      	movi      	r3, 0
     510:	b865      	st.w      	r3, (r14, 0x14)
     512:	b864      	st.w      	r3, (r14, 0x10)
     514:	1802      	addi      	r0, r14, 8
     516:	07f0      	br      	0x4f6	// 4f6 <__divsf3+0x76>
     518:	3cc7      	btsti      	r4, 7
     51a:	0bec      	bt      	0x4f2	// 4f2 <__divsf3+0x72>
     51c:	3b40      	cmpnei      	r3, 0
     51e:	0fea      	bf      	0x4f2	// 4f2 <__divsf3+0x72>
     520:	6104      	addu      	r4, r1
     522:	6909      	andn      	r4, r2
     524:	07e7      	br      	0x4f2	// 4f2 <__divsf3+0x72>
     526:	3304      	movi      	r3, 4
     528:	b862      	st.w      	r3, (r14, 0x8)
     52a:	1802      	addi      	r0, r14, 8
     52c:	07e5      	br      	0x4f6	// 4f6 <__divsf3+0x76>
     52e:	1806      	addi      	r0, r14, 24
     530:	07e3      	br      	0x4f6	// 4f6 <__divsf3+0x76>
     532:	0000      	bkpt
     534:	000058d4 	.long	0x000058d4

00000538 <__eqsf2>:
     538:	14d0      	push      	r15
     53a:	142a      	subi      	r14, r14, 40
     53c:	b800      	st.w      	r0, (r14, 0x0)
     53e:	b821      	st.w      	r1, (r14, 0x4)
     540:	6c3b      	mov      	r0, r14
     542:	1902      	addi      	r1, r14, 8
     544:	e000067a 	bsr      	0x1238	// 1238 <__unpack_f>
     548:	1906      	addi      	r1, r14, 24
     54a:	1801      	addi      	r0, r14, 4
     54c:	e0000676 	bsr      	0x1238	// 1238 <__unpack_f>
     550:	9862      	ld.w      	r3, (r14, 0x8)
     552:	3b01      	cmphsi      	r3, 2
     554:	0c0a      	bf      	0x568	// 568 <__eqsf2+0x30>
     556:	9866      	ld.w      	r3, (r14, 0x18)
     558:	3b01      	cmphsi      	r3, 2
     55a:	0c07      	bf      	0x568	// 568 <__eqsf2+0x30>
     55c:	1906      	addi      	r1, r14, 24
     55e:	1802      	addi      	r0, r14, 8
     560:	e00006ae 	bsr      	0x12bc	// 12bc <__fpcmp_parts_f>
     564:	140a      	addi      	r14, r14, 40
     566:	1490      	pop      	r15
     568:	3001      	movi      	r0, 1
     56a:	140a      	addi      	r14, r14, 40
     56c:	1490      	pop      	r15
	...

00000570 <__nesf2>:
     570:	14d0      	push      	r15
     572:	142a      	subi      	r14, r14, 40
     574:	b800      	st.w      	r0, (r14, 0x0)
     576:	b821      	st.w      	r1, (r14, 0x4)
     578:	6c3b      	mov      	r0, r14
     57a:	1902      	addi      	r1, r14, 8
     57c:	e000065e 	bsr      	0x1238	// 1238 <__unpack_f>
     580:	1906      	addi      	r1, r14, 24
     582:	1801      	addi      	r0, r14, 4
     584:	e000065a 	bsr      	0x1238	// 1238 <__unpack_f>
     588:	9862      	ld.w      	r3, (r14, 0x8)
     58a:	3b01      	cmphsi      	r3, 2
     58c:	0c0a      	bf      	0x5a0	// 5a0 <__nesf2+0x30>
     58e:	9866      	ld.w      	r3, (r14, 0x18)
     590:	3b01      	cmphsi      	r3, 2
     592:	0c07      	bf      	0x5a0	// 5a0 <__nesf2+0x30>
     594:	1906      	addi      	r1, r14, 24
     596:	1802      	addi      	r0, r14, 8
     598:	e0000692 	bsr      	0x12bc	// 12bc <__fpcmp_parts_f>
     59c:	140a      	addi      	r14, r14, 40
     59e:	1490      	pop      	r15
     5a0:	3001      	movi      	r0, 1
     5a2:	140a      	addi      	r14, r14, 40
     5a4:	1490      	pop      	r15
	...

000005a8 <__gtsf2>:
     5a8:	14d0      	push      	r15
     5aa:	142a      	subi      	r14, r14, 40
     5ac:	b800      	st.w      	r0, (r14, 0x0)
     5ae:	b821      	st.w      	r1, (r14, 0x4)
     5b0:	6c3b      	mov      	r0, r14
     5b2:	1902      	addi      	r1, r14, 8
     5b4:	e0000642 	bsr      	0x1238	// 1238 <__unpack_f>
     5b8:	1906      	addi      	r1, r14, 24
     5ba:	1801      	addi      	r0, r14, 4
     5bc:	e000063e 	bsr      	0x1238	// 1238 <__unpack_f>
     5c0:	9862      	ld.w      	r3, (r14, 0x8)
     5c2:	3b01      	cmphsi      	r3, 2
     5c4:	0c0a      	bf      	0x5d8	// 5d8 <__gtsf2+0x30>
     5c6:	9866      	ld.w      	r3, (r14, 0x18)
     5c8:	3b01      	cmphsi      	r3, 2
     5ca:	0c07      	bf      	0x5d8	// 5d8 <__gtsf2+0x30>
     5cc:	1906      	addi      	r1, r14, 24
     5ce:	1802      	addi      	r0, r14, 8
     5d0:	e0000676 	bsr      	0x12bc	// 12bc <__fpcmp_parts_f>
     5d4:	140a      	addi      	r14, r14, 40
     5d6:	1490      	pop      	r15
     5d8:	3000      	movi      	r0, 0
     5da:	2800      	subi      	r0, 1
     5dc:	140a      	addi      	r14, r14, 40
     5de:	1490      	pop      	r15

000005e0 <__gesf2>:
     5e0:	14d0      	push      	r15
     5e2:	142a      	subi      	r14, r14, 40
     5e4:	b800      	st.w      	r0, (r14, 0x0)
     5e6:	b821      	st.w      	r1, (r14, 0x4)
     5e8:	6c3b      	mov      	r0, r14
     5ea:	1902      	addi      	r1, r14, 8
     5ec:	e0000626 	bsr      	0x1238	// 1238 <__unpack_f>
     5f0:	1906      	addi      	r1, r14, 24
     5f2:	1801      	addi      	r0, r14, 4
     5f4:	e0000622 	bsr      	0x1238	// 1238 <__unpack_f>
     5f8:	9862      	ld.w      	r3, (r14, 0x8)
     5fa:	3b01      	cmphsi      	r3, 2
     5fc:	0c0a      	bf      	0x610	// 610 <__gesf2+0x30>
     5fe:	9866      	ld.w      	r3, (r14, 0x18)
     600:	3b01      	cmphsi      	r3, 2
     602:	0c07      	bf      	0x610	// 610 <__gesf2+0x30>
     604:	1906      	addi      	r1, r14, 24
     606:	1802      	addi      	r0, r14, 8
     608:	e000065a 	bsr      	0x12bc	// 12bc <__fpcmp_parts_f>
     60c:	140a      	addi      	r14, r14, 40
     60e:	1490      	pop      	r15
     610:	3000      	movi      	r0, 0
     612:	2800      	subi      	r0, 1
     614:	140a      	addi      	r14, r14, 40
     616:	1490      	pop      	r15

00000618 <__ltsf2>:
     618:	14d0      	push      	r15
     61a:	142a      	subi      	r14, r14, 40
     61c:	b800      	st.w      	r0, (r14, 0x0)
     61e:	b821      	st.w      	r1, (r14, 0x4)
     620:	6c3b      	mov      	r0, r14
     622:	1902      	addi      	r1, r14, 8
     624:	e000060a 	bsr      	0x1238	// 1238 <__unpack_f>
     628:	1906      	addi      	r1, r14, 24
     62a:	1801      	addi      	r0, r14, 4
     62c:	e0000606 	bsr      	0x1238	// 1238 <__unpack_f>
     630:	9862      	ld.w      	r3, (r14, 0x8)
     632:	3b01      	cmphsi      	r3, 2
     634:	0c0a      	bf      	0x648	// 648 <__ltsf2+0x30>
     636:	9866      	ld.w      	r3, (r14, 0x18)
     638:	3b01      	cmphsi      	r3, 2
     63a:	0c07      	bf      	0x648	// 648 <__ltsf2+0x30>
     63c:	1906      	addi      	r1, r14, 24
     63e:	1802      	addi      	r0, r14, 8
     640:	e000063e 	bsr      	0x12bc	// 12bc <__fpcmp_parts_f>
     644:	140a      	addi      	r14, r14, 40
     646:	1490      	pop      	r15
     648:	3001      	movi      	r0, 1
     64a:	140a      	addi      	r14, r14, 40
     64c:	1490      	pop      	r15
	...

00000650 <__lesf2>:
     650:	14d0      	push      	r15
     652:	142a      	subi      	r14, r14, 40
     654:	b800      	st.w      	r0, (r14, 0x0)
     656:	b821      	st.w      	r1, (r14, 0x4)
     658:	6c3b      	mov      	r0, r14
     65a:	1902      	addi      	r1, r14, 8
     65c:	e00005ee 	bsr      	0x1238	// 1238 <__unpack_f>
     660:	1906      	addi      	r1, r14, 24
     662:	1801      	addi      	r0, r14, 4
     664:	e00005ea 	bsr      	0x1238	// 1238 <__unpack_f>
     668:	9862      	ld.w      	r3, (r14, 0x8)
     66a:	3b01      	cmphsi      	r3, 2
     66c:	0c0a      	bf      	0x680	// 680 <__lesf2+0x30>
     66e:	9866      	ld.w      	r3, (r14, 0x18)
     670:	3b01      	cmphsi      	r3, 2
     672:	0c07      	bf      	0x680	// 680 <__lesf2+0x30>
     674:	1906      	addi      	r1, r14, 24
     676:	1802      	addi      	r0, r14, 8
     678:	e0000622 	bsr      	0x12bc	// 12bc <__fpcmp_parts_f>
     67c:	140a      	addi      	r14, r14, 40
     67e:	1490      	pop      	r15
     680:	3001      	movi      	r0, 1
     682:	140a      	addi      	r14, r14, 40
     684:	1490      	pop      	r15
	...

00000688 <__floatsisf>:
     688:	14d1      	push      	r4, r15
     68a:	1424      	subi      	r14, r14, 16
     68c:	3303      	movi      	r3, 3
     68e:	b860      	st.w      	r3, (r14, 0x0)
     690:	3840      	cmpnei      	r0, 0
     692:	487f      	lsri      	r3, r0, 31
     694:	b861      	st.w      	r3, (r14, 0x4)
     696:	0808      	bt      	0x6a6	// 6a6 <__floatsisf+0x1e>
     698:	3302      	movi      	r3, 2
     69a:	b860      	st.w      	r3, (r14, 0x0)
     69c:	6c3b      	mov      	r0, r14
     69e:	e0000575 	bsr      	0x1188	// 1188 <__pack_f>
     6a2:	1404      	addi      	r14, r14, 16
     6a4:	1491      	pop      	r4, r15
     6a6:	331e      	movi      	r3, 30
     6a8:	38df      	btsti      	r0, 31
     6aa:	b862      	st.w      	r3, (r14, 0x8)
     6ac:	080f      	bt      	0x6ca	// 6ca <__floatsisf+0x42>
     6ae:	6d03      	mov      	r4, r0
     6b0:	6c13      	mov      	r0, r4
     6b2:	e000054b 	bsr      	0x1148	// 1148 <__clzsi2>
     6b6:	5863      	subi      	r3, r0, 1
     6b8:	3b40      	cmpnei      	r3, 0
     6ba:	0c14      	bf      	0x6e2	// 6e2 <__floatsisf+0x5a>
     6bc:	6c13      	mov      	r0, r4
     6be:	321e      	movi      	r2, 30
     6c0:	700c      	lsl      	r0, r3
     6c2:	5a6d      	subu      	r3, r2, r3
     6c4:	b803      	st.w      	r0, (r14, 0xc)
     6c6:	b862      	st.w      	r3, (r14, 0x8)
     6c8:	07ea      	br      	0x69c	// 69c <__floatsisf+0x14>
     6ca:	3380      	movi      	r3, 128
     6cc:	4378      	lsli      	r3, r3, 24
     6ce:	64c2      	cmpne      	r0, r3
     6d0:	0c0b      	bf      	0x6e6	// 6e6 <__floatsisf+0x5e>
     6d2:	3400      	movi      	r4, 0
     6d4:	6102      	subu      	r4, r0
     6d6:	6c13      	mov      	r0, r4
     6d8:	e0000538 	bsr      	0x1148	// 1148 <__clzsi2>
     6dc:	5863      	subi      	r3, r0, 1
     6de:	3b40      	cmpnei      	r3, 0
     6e0:	0bee      	bt      	0x6bc	// 6bc <__floatsisf+0x34>
     6e2:	b883      	st.w      	r4, (r14, 0xc)
     6e4:	07dc      	br      	0x69c	// 69c <__floatsisf+0x14>
     6e6:	30cf      	movi      	r0, 207
     6e8:	4018      	lsli      	r0, r0, 24
     6ea:	07dc      	br      	0x6a2	// 6a2 <__floatsisf+0x1a>

000006ec <__fixsfsi>:
     6ec:	14d0      	push      	r15
     6ee:	1425      	subi      	r14, r14, 20
     6f0:	b800      	st.w      	r0, (r14, 0x0)
     6f2:	1901      	addi      	r1, r14, 4
     6f4:	6c3b      	mov      	r0, r14
     6f6:	e00005a1 	bsr      	0x1238	// 1238 <__unpack_f>
     6fa:	9861      	ld.w      	r3, (r14, 0x4)
     6fc:	3b02      	cmphsi      	r3, 3
     6fe:	0c1b      	bf      	0x734	// 734 <__fixsfsi+0x48>
     700:	3b44      	cmpnei      	r3, 4
     702:	0c06      	bf      	0x70e	// 70e <__fixsfsi+0x22>
     704:	9863      	ld.w      	r3, (r14, 0xc)
     706:	3bdf      	btsti      	r3, 31
     708:	0816      	bt      	0x734	// 734 <__fixsfsi+0x48>
     70a:	3b3e      	cmplti      	r3, 31
     70c:	0809      	bt      	0x71e	// 71e <__fixsfsi+0x32>
     70e:	9862      	ld.w      	r3, (r14, 0x8)
     710:	3b40      	cmpnei      	r3, 0
     712:	3000      	movi      	r0, 0
     714:	6001      	addc      	r0, r0
     716:	106a      	lrw      	r3, 0x7fffffff	// 73c <__fixsfsi+0x50>
     718:	600c      	addu      	r0, r3
     71a:	1405      	addi      	r14, r14, 20
     71c:	1490      	pop      	r15
     71e:	321e      	movi      	r2, 30
     720:	5a6d      	subu      	r3, r2, r3
     722:	9804      	ld.w      	r0, (r14, 0x10)
     724:	700d      	lsr      	r0, r3
     726:	9862      	ld.w      	r3, (r14, 0x8)
     728:	3b40      	cmpnei      	r3, 0
     72a:	0ff8      	bf      	0x71a	// 71a <__fixsfsi+0x2e>
     72c:	3300      	movi      	r3, 0
     72e:	5b01      	subu      	r0, r3, r0
     730:	1405      	addi      	r14, r14, 20
     732:	1490      	pop      	r15
     734:	3000      	movi      	r0, 0
     736:	1405      	addi      	r14, r14, 20
     738:	1490      	pop      	r15
     73a:	0000      	bkpt
     73c:	7fffffff 	.long	0x7fffffff

00000740 <__extendsfdf2>:
     740:	14d1      	push      	r4, r15
     742:	1426      	subi      	r14, r14, 24
     744:	b801      	st.w      	r0, (r14, 0x4)
     746:	1902      	addi      	r1, r14, 8
     748:	1801      	addi      	r0, r14, 4
     74a:	e0000577 	bsr      	0x1238	// 1238 <__unpack_f>
     74e:	9865      	ld.w      	r3, (r14, 0x14)
     750:	4b82      	lsri      	r4, r3, 2
     752:	9844      	ld.w      	r2, (r14, 0x10)
     754:	437e      	lsli      	r3, r3, 30
     756:	9823      	ld.w      	r1, (r14, 0xc)
     758:	9802      	ld.w      	r0, (r14, 0x8)
     75a:	b880      	st.w      	r4, (r14, 0x0)
     75c:	e000047e 	bsr      	0x1058	// 1058 <__make_dp>
     760:	1406      	addi      	r14, r14, 24
     762:	1491      	pop      	r4, r15

00000764 <__floatunsisf>:
     764:	14d2      	push      	r4-r5, r15
     766:	1424      	subi      	r14, r14, 16
     768:	3840      	cmpnei      	r0, 0
     76a:	3300      	movi      	r3, 0
     76c:	6d03      	mov      	r4, r0
     76e:	b861      	st.w      	r3, (r14, 0x4)
     770:	0c15      	bf      	0x79a	// 79a <__floatunsisf+0x36>
     772:	3303      	movi      	r3, 3
     774:	351e      	movi      	r5, 30
     776:	b860      	st.w      	r3, (r14, 0x0)
     778:	b8a2      	st.w      	r5, (r14, 0x8)
     77a:	e00004e7 	bsr      	0x1148	// 1148 <__clzsi2>
     77e:	3840      	cmpnei      	r0, 0
     780:	5863      	subi      	r3, r0, 1
     782:	0c13      	bf      	0x7a8	// 7a8 <__floatunsisf+0x44>
     784:	3b40      	cmpnei      	r3, 0
     786:	0c1d      	bf      	0x7c0	// 7c0 <__floatunsisf+0x5c>
     788:	710c      	lsl      	r4, r3
     78a:	614e      	subu      	r5, r3
     78c:	b883      	st.w      	r4, (r14, 0xc)
     78e:	b8a2      	st.w      	r5, (r14, 0x8)
     790:	6c3b      	mov      	r0, r14
     792:	e00004fb 	bsr      	0x1188	// 1188 <__pack_f>
     796:	1404      	addi      	r14, r14, 16
     798:	1492      	pop      	r4-r5, r15
     79a:	3302      	movi      	r3, 2
     79c:	6c3b      	mov      	r0, r14
     79e:	b860      	st.w      	r3, (r14, 0x0)
     7a0:	e00004f4 	bsr      	0x1188	// 1188 <__pack_f>
     7a4:	1404      	addi      	r14, r14, 16
     7a6:	1492      	pop      	r4-r5, r15
     7a8:	3301      	movi      	r3, 1
     7aa:	68d0      	and      	r3, r4
     7ac:	4c81      	lsri      	r4, r4, 1
     7ae:	6d0c      	or      	r4, r3
     7b0:	6c3b      	mov      	r0, r14
     7b2:	331f      	movi      	r3, 31
     7b4:	b883      	st.w      	r4, (r14, 0xc)
     7b6:	b862      	st.w      	r3, (r14, 0x8)
     7b8:	e00004e8 	bsr      	0x1188	// 1188 <__pack_f>
     7bc:	1404      	addi      	r14, r14, 16
     7be:	1492      	pop      	r4-r5, r15
     7c0:	b883      	st.w      	r4, (r14, 0xc)
     7c2:	07e7      	br      	0x790	// 790 <__floatunsisf+0x2c>

000007c4 <_fpadd_parts>:
     7c4:	14c4      	push      	r4-r7
     7c6:	142a      	subi      	r14, r14, 40
     7c8:	9060      	ld.w      	r3, (r0, 0x0)
     7ca:	3b01      	cmphsi      	r3, 2
     7cc:	6dcb      	mov      	r7, r2
     7ce:	0c67      	bf      	0x89c	// 89c <_fpadd_parts+0xd8>
     7d0:	9140      	ld.w      	r2, (r1, 0x0)
     7d2:	3a01      	cmphsi      	r2, 2
     7d4:	0c66      	bf      	0x8a0	// 8a0 <_fpadd_parts+0xdc>
     7d6:	3b44      	cmpnei      	r3, 4
     7d8:	0cde      	bf      	0x994	// 994 <_fpadd_parts+0x1d0>
     7da:	3a44      	cmpnei      	r2, 4
     7dc:	0c62      	bf      	0x8a0	// 8a0 <_fpadd_parts+0xdc>
     7de:	3a42      	cmpnei      	r2, 2
     7e0:	0cb7      	bf      	0x94e	// 94e <_fpadd_parts+0x18a>
     7e2:	3b42      	cmpnei      	r3, 2
     7e4:	0c5e      	bf      	0x8a0	// 8a0 <_fpadd_parts+0xdc>
     7e6:	9043      	ld.w      	r2, (r0, 0xc)
     7e8:	9064      	ld.w      	r3, (r0, 0x10)
     7ea:	9082      	ld.w      	r4, (r0, 0x8)
     7ec:	91a2      	ld.w      	r5, (r1, 0x8)
     7ee:	b842      	st.w      	r2, (r14, 0x8)
     7f0:	b863      	st.w      	r3, (r14, 0xc)
     7f2:	9143      	ld.w      	r2, (r1, 0xc)
     7f4:	9164      	ld.w      	r3, (r1, 0x10)
     7f6:	b840      	st.w      	r2, (r14, 0x0)
     7f8:	b861      	st.w      	r3, (r14, 0x4)
     7fa:	5c75      	subu      	r3, r4, r5
     7fc:	3bdf      	btsti      	r3, 31
     7fe:	6c8f      	mov      	r2, r3
     800:	08d2      	bt      	0x9a4	// 9a4 <_fpadd_parts+0x1e0>
     802:	363f      	movi      	r6, 63
     804:	6499      	cmplt      	r6, r2
     806:	0c50      	bf      	0x8a6	// 8a6 <_fpadd_parts+0xe2>
     808:	6515      	cmplt      	r5, r4
     80a:	0cbf      	bf      	0x988	// 988 <_fpadd_parts+0x1c4>
     80c:	3200      	movi      	r2, 0
     80e:	3300      	movi      	r3, 0
     810:	b840      	st.w      	r2, (r14, 0x0)
     812:	b861      	st.w      	r3, (r14, 0x4)
     814:	9061      	ld.w      	r3, (r0, 0x4)
     816:	9141      	ld.w      	r2, (r1, 0x4)
     818:	648e      	cmpne      	r3, r2
     81a:	0c78      	bf      	0x90a	// 90a <_fpadd_parts+0x146>
     81c:	3b40      	cmpnei      	r3, 0
     81e:	0cad      	bf      	0x978	// 978 <_fpadd_parts+0x1b4>
     820:	9800      	ld.w      	r0, (r14, 0x0)
     822:	9821      	ld.w      	r1, (r14, 0x4)
     824:	9842      	ld.w      	r2, (r14, 0x8)
     826:	9863      	ld.w      	r3, (r14, 0xc)
     828:	6400      	cmphs      	r0, r0
     82a:	600b      	subc      	r0, r2
     82c:	604f      	subc      	r1, r3
     82e:	39df      	btsti      	r1, 31
     830:	08bd      	bt      	0x9aa	// 9aa <_fpadd_parts+0x1e6>
     832:	3300      	movi      	r3, 0
     834:	b761      	st.w      	r3, (r7, 0x4)
     836:	b782      	st.w      	r4, (r7, 0x8)
     838:	6c83      	mov      	r2, r0
     83a:	6cc7      	mov      	r3, r1
     83c:	b703      	st.w      	r0, (r7, 0xc)
     83e:	b724      	st.w      	r1, (r7, 0x10)
     840:	3000      	movi      	r0, 0
     842:	3100      	movi      	r1, 0
     844:	2800      	subi      	r0, 1
     846:	2900      	subi      	r1, 1
     848:	6401      	cmplt      	r0, r0
     84a:	6009      	addc      	r0, r2
     84c:	604d      	addc      	r1, r3
     84e:	0295      	lrw      	r4, 0xfffffff	// af4 <__subdf3+0x38>
     850:	6450      	cmphs      	r4, r1
     852:	0c67      	bf      	0x920	// 920 <_fpadd_parts+0x15c>
     854:	6506      	cmpne      	r1, r4
     856:	0cfd      	bf      	0xa50	// a50 <_fpadd_parts+0x28c>
     858:	3000      	movi      	r0, 0
     85a:	9722      	ld.w      	r1, (r7, 0x8)
     85c:	2801      	subi      	r0, 2
     85e:	2900      	subi      	r1, 1
     860:	02da      	lrw      	r6, 0xfffffff	// af4 <__subdf3+0x38>
     862:	b802      	st.w      	r0, (r14, 0x8)
     864:	b8e0      	st.w      	r7, (r14, 0x0)
     866:	0403      	br      	0x86c	// 86c <_fpadd_parts+0xa8>
     868:	6596      	cmpne      	r5, r6
     86a:	0c83      	bf      	0x970	// 970 <_fpadd_parts+0x1ac>
     86c:	4301      	lsli      	r0, r3, 1
     86e:	4a9f      	lsri      	r4, r2, 31
     870:	6d00      	or      	r4, r0
     872:	42a1      	lsli      	r5, r2, 1
     874:	6c97      	mov      	r2, r5
     876:	6cd3      	mov      	r3, r4
     878:	3500      	movi      	r5, 0
     87a:	3400      	movi      	r4, 0
     87c:	2c00      	subi      	r4, 1
     87e:	2d00      	subi      	r5, 1
     880:	6511      	cmplt      	r4, r4
     882:	6109      	addc      	r4, r2
     884:	614d      	addc      	r5, r3
     886:	6558      	cmphs      	r6, r5
     888:	6c07      	mov      	r0, r1
     88a:	2900      	subi      	r1, 1
     88c:	0bee      	bt      	0x868	// 868 <_fpadd_parts+0xa4>
     88e:	98e0      	ld.w      	r7, (r14, 0x0)
     890:	b743      	st.w      	r2, (r7, 0xc)
     892:	b764      	st.w      	r3, (r7, 0x10)
     894:	3303      	movi      	r3, 3
     896:	b702      	st.w      	r0, (r7, 0x8)
     898:	b760      	st.w      	r3, (r7, 0x0)
     89a:	6c1f      	mov      	r0, r7
     89c:	140a      	addi      	r14, r14, 40
     89e:	1484      	pop      	r4-r7
     8a0:	6c07      	mov      	r0, r1
     8a2:	140a      	addi      	r14, r14, 40
     8a4:	1484      	pop      	r4-r7
     8a6:	3b20      	cmplti      	r3, 1
     8a8:	088c      	bt      	0x9c0	// 9c0 <_fpadd_parts+0x1fc>
     8aa:	3300      	movi      	r3, 0
     8ac:	2b1f      	subi      	r3, 32
     8ae:	60c8      	addu      	r3, r2
     8b0:	3bdf      	btsti      	r3, 31
     8b2:	b866      	st.w      	r3, (r14, 0x18)
     8b4:	08bb      	bt      	0xa2a	// a2a <_fpadd_parts+0x266>
     8b6:	98a1      	ld.w      	r5, (r14, 0x4)
     8b8:	714d      	lsr      	r5, r3
     8ba:	b8a4      	st.w      	r5, (r14, 0x10)
     8bc:	3500      	movi      	r5, 0
     8be:	b8a5      	st.w      	r5, (r14, 0x14)
     8c0:	9866      	ld.w      	r3, (r14, 0x18)
     8c2:	3bdf      	btsti      	r3, 31
     8c4:	3500      	movi      	r5, 0
     8c6:	3600      	movi      	r6, 0
     8c8:	08ad      	bt      	0xa22	// a22 <_fpadd_parts+0x25e>
     8ca:	3201      	movi      	r2, 1
     8cc:	708c      	lsl      	r2, r3
     8ce:	6d8b      	mov      	r6, r2
     8d0:	3200      	movi      	r2, 0
     8d2:	3300      	movi      	r3, 0
     8d4:	2a00      	subi      	r2, 1
     8d6:	2b00      	subi      	r3, 1
     8d8:	6489      	cmplt      	r2, r2
     8da:	6095      	addc      	r2, r5
     8dc:	60d9      	addc      	r3, r6
     8de:	98a0      	ld.w      	r5, (r14, 0x0)
     8e0:	98c1      	ld.w      	r6, (r14, 0x4)
     8e2:	6948      	and      	r5, r2
     8e4:	698c      	and      	r6, r3
     8e6:	6c97      	mov      	r2, r5
     8e8:	6cdb      	mov      	r3, r6
     8ea:	6c8c      	or      	r2, r3
     8ec:	3a40      	cmpnei      	r2, 0
     8ee:	3500      	movi      	r5, 0
     8f0:	6155      	addc      	r5, r5
     8f2:	6c97      	mov      	r2, r5
     8f4:	3300      	movi      	r3, 0
     8f6:	98a4      	ld.w      	r5, (r14, 0x10)
     8f8:	98c5      	ld.w      	r6, (r14, 0x14)
     8fa:	6d48      	or      	r5, r2
     8fc:	6d8c      	or      	r6, r3
     8fe:	9061      	ld.w      	r3, (r0, 0x4)
     900:	9141      	ld.w      	r2, (r1, 0x4)
     902:	648e      	cmpne      	r3, r2
     904:	b8a0      	st.w      	r5, (r14, 0x0)
     906:	b8c1      	st.w      	r6, (r14, 0x4)
     908:	0b8a      	bt      	0x81c	// 81c <_fpadd_parts+0x58>
     90a:	b761      	st.w      	r3, (r7, 0x4)
     90c:	9800      	ld.w      	r0, (r14, 0x0)
     90e:	9821      	ld.w      	r1, (r14, 0x4)
     910:	9842      	ld.w      	r2, (r14, 0x8)
     912:	9863      	ld.w      	r3, (r14, 0xc)
     914:	6489      	cmplt      	r2, r2
     916:	6081      	addc      	r2, r0
     918:	60c5      	addc      	r3, r1
     91a:	b782      	st.w      	r4, (r7, 0x8)
     91c:	b743      	st.w      	r2, (r7, 0xc)
     91e:	b764      	st.w      	r3, (r7, 0x10)
     920:	3103      	movi      	r1, 3
     922:	b720      	st.w      	r1, (r7, 0x0)
     924:	1335      	lrw      	r1, 0x1fffffff	// af8 <__subdf3+0x3c>
     926:	64c4      	cmphs      	r1, r3
     928:	0810      	bt      	0x948	// 948 <_fpadd_parts+0x184>
     92a:	439f      	lsli      	r4, r3, 31
     92c:	4a01      	lsri      	r0, r2, 1
     92e:	6c10      	or      	r0, r4
     930:	3500      	movi      	r5, 0
     932:	3401      	movi      	r4, 1
     934:	4b21      	lsri      	r1, r3, 1
     936:	6890      	and      	r2, r4
     938:	68d4      	and      	r3, r5
     93a:	6c80      	or      	r2, r0
     93c:	6cc4      	or      	r3, r1
     93e:	b743      	st.w      	r2, (r7, 0xc)
     940:	b764      	st.w      	r3, (r7, 0x10)
     942:	9762      	ld.w      	r3, (r7, 0x8)
     944:	2300      	addi      	r3, 1
     946:	b762      	st.w      	r3, (r7, 0x8)
     948:	6c1f      	mov      	r0, r7
     94a:	140a      	addi      	r14, r14, 40
     94c:	1484      	pop      	r4-r7
     94e:	3b42      	cmpnei      	r3, 2
     950:	0ba6      	bt      	0x89c	// 89c <_fpadd_parts+0xd8>
     952:	b760      	st.w      	r3, (r7, 0x0)
     954:	9061      	ld.w      	r3, (r0, 0x4)
     956:	b761      	st.w      	r3, (r7, 0x4)
     958:	9062      	ld.w      	r3, (r0, 0x8)
     95a:	b762      	st.w      	r3, (r7, 0x8)
     95c:	9063      	ld.w      	r3, (r0, 0xc)
     95e:	b763      	st.w      	r3, (r7, 0xc)
     960:	9064      	ld.w      	r3, (r0, 0x10)
     962:	9141      	ld.w      	r2, (r1, 0x4)
     964:	b764      	st.w      	r3, (r7, 0x10)
     966:	9061      	ld.w      	r3, (r0, 0x4)
     968:	68c8      	and      	r3, r2
     96a:	b761      	st.w      	r3, (r7, 0x4)
     96c:	6c1f      	mov      	r0, r7
     96e:	0797      	br      	0x89c	// 89c <_fpadd_parts+0xd8>
     970:	98e2      	ld.w      	r7, (r14, 0x8)
     972:	651c      	cmphs      	r7, r4
     974:	0b7c      	bt      	0x86c	// 86c <_fpadd_parts+0xa8>
     976:	078c      	br      	0x88e	// 88e <_fpadd_parts+0xca>
     978:	9802      	ld.w      	r0, (r14, 0x8)
     97a:	9823      	ld.w      	r1, (r14, 0xc)
     97c:	9840      	ld.w      	r2, (r14, 0x0)
     97e:	9861      	ld.w      	r3, (r14, 0x4)
     980:	6400      	cmphs      	r0, r0
     982:	600b      	subc      	r0, r2
     984:	604f      	subc      	r1, r3
     986:	0754      	br      	0x82e	// 82e <_fpadd_parts+0x6a>
     988:	3200      	movi      	r2, 0
     98a:	3300      	movi      	r3, 0
     98c:	6d17      	mov      	r4, r5
     98e:	b842      	st.w      	r2, (r14, 0x8)
     990:	b863      	st.w      	r3, (r14, 0xc)
     992:	0741      	br      	0x814	// 814 <_fpadd_parts+0x50>
     994:	3a44      	cmpnei      	r2, 4
     996:	0b83      	bt      	0x89c	// 89c <_fpadd_parts+0xd8>
     998:	9041      	ld.w      	r2, (r0, 0x4)
     99a:	9161      	ld.w      	r3, (r1, 0x4)
     99c:	64ca      	cmpne      	r2, r3
     99e:	0f7f      	bf      	0x89c	// 89c <_fpadd_parts+0xd8>
     9a0:	1217      	lrw      	r0, 0x58e4	// afc <__subdf3+0x40>
     9a2:	077d      	br      	0x89c	// 89c <_fpadd_parts+0xd8>
     9a4:	3200      	movi      	r2, 0
     9a6:	608e      	subu      	r2, r3
     9a8:	072d      	br      	0x802	// 802 <_fpadd_parts+0x3e>
     9aa:	3301      	movi      	r3, 1
     9ac:	b761      	st.w      	r3, (r7, 0x4)
     9ae:	3200      	movi      	r2, 0
     9b0:	3300      	movi      	r3, 0
     9b2:	6488      	cmphs      	r2, r2
     9b4:	6083      	subc      	r2, r0
     9b6:	60c7      	subc      	r3, r1
     9b8:	b782      	st.w      	r4, (r7, 0x8)
     9ba:	b743      	st.w      	r2, (r7, 0xc)
     9bc:	b764      	st.w      	r3, (r7, 0x10)
     9be:	0741      	br      	0x840	// 840 <_fpadd_parts+0x7c>
     9c0:	3b40      	cmpnei      	r3, 0
     9c2:	0f29      	bf      	0x814	// 814 <_fpadd_parts+0x50>
     9c4:	3300      	movi      	r3, 0
     9c6:	2b1f      	subi      	r3, 32
     9c8:	60c8      	addu      	r3, r2
     9ca:	3bdf      	btsti      	r3, 31
     9cc:	6108      	addu      	r4, r2
     9ce:	b866      	st.w      	r3, (r14, 0x18)
     9d0:	0849      	bt      	0xa62	// a62 <_fpadd_parts+0x29e>
     9d2:	9863      	ld.w      	r3, (r14, 0xc)
     9d4:	98a6      	ld.w      	r5, (r14, 0x18)
     9d6:	70d5      	lsr      	r3, r5
     9d8:	b864      	st.w      	r3, (r14, 0x10)
     9da:	3300      	movi      	r3, 0
     9dc:	b865      	st.w      	r3, (r14, 0x14)
     9de:	9866      	ld.w      	r3, (r14, 0x18)
     9e0:	3bdf      	btsti      	r3, 31
     9e2:	3500      	movi      	r5, 0
     9e4:	3600      	movi      	r6, 0
     9e6:	083a      	bt      	0xa5a	// a5a <_fpadd_parts+0x296>
     9e8:	3201      	movi      	r2, 1
     9ea:	708c      	lsl      	r2, r3
     9ec:	6d8b      	mov      	r6, r2
     9ee:	3200      	movi      	r2, 0
     9f0:	3300      	movi      	r3, 0
     9f2:	2a00      	subi      	r2, 1
     9f4:	2b00      	subi      	r3, 1
     9f6:	6489      	cmplt      	r2, r2
     9f8:	6095      	addc      	r2, r5
     9fa:	60d9      	addc      	r3, r6
     9fc:	98a2      	ld.w      	r5, (r14, 0x8)
     9fe:	98c3      	ld.w      	r6, (r14, 0xc)
     a00:	6948      	and      	r5, r2
     a02:	698c      	and      	r6, r3
     a04:	6c97      	mov      	r2, r5
     a06:	6cdb      	mov      	r3, r6
     a08:	6c8c      	or      	r2, r3
     a0a:	3a40      	cmpnei      	r2, 0
     a0c:	3500      	movi      	r5, 0
     a0e:	6155      	addc      	r5, r5
     a10:	6c97      	mov      	r2, r5
     a12:	3300      	movi      	r3, 0
     a14:	98a4      	ld.w      	r5, (r14, 0x10)
     a16:	98c5      	ld.w      	r6, (r14, 0x14)
     a18:	6d48      	or      	r5, r2
     a1a:	6d8c      	or      	r6, r3
     a1c:	b8a2      	st.w      	r5, (r14, 0x8)
     a1e:	b8c3      	st.w      	r6, (r14, 0xc)
     a20:	06fa      	br      	0x814	// 814 <_fpadd_parts+0x50>
     a22:	3301      	movi      	r3, 1
     a24:	70c8      	lsl      	r3, r2
     a26:	6d4f      	mov      	r5, r3
     a28:	0754      	br      	0x8d0	// 8d0 <_fpadd_parts+0x10c>
     a2a:	9861      	ld.w      	r3, (r14, 0x4)
     a2c:	361f      	movi      	r6, 31
     a2e:	43a1      	lsli      	r5, r3, 1
     a30:	618a      	subu      	r6, r2
     a32:	7158      	lsl      	r5, r6
     a34:	b8a9      	st.w      	r5, (r14, 0x24)
     a36:	98a0      	ld.w      	r5, (r14, 0x0)
     a38:	98c1      	ld.w      	r6, (r14, 0x4)
     a3a:	b8a7      	st.w      	r5, (r14, 0x1c)
     a3c:	b8c8      	st.w      	r6, (r14, 0x20)
     a3e:	9867      	ld.w      	r3, (r14, 0x1c)
     a40:	70c9      	lsr      	r3, r2
     a42:	98a9      	ld.w      	r5, (r14, 0x24)
     a44:	6cd4      	or      	r3, r5
     a46:	b864      	st.w      	r3, (r14, 0x10)
     a48:	9868      	ld.w      	r3, (r14, 0x20)
     a4a:	70c9      	lsr      	r3, r2
     a4c:	b865      	st.w      	r3, (r14, 0x14)
     a4e:	0739      	br      	0x8c0	// 8c0 <_fpadd_parts+0xfc>
     a50:	3100      	movi      	r1, 0
     a52:	2901      	subi      	r1, 2
     a54:	6404      	cmphs      	r1, r0
     a56:	0b01      	bt      	0x858	// 858 <_fpadd_parts+0x94>
     a58:	0764      	br      	0x920	// 920 <_fpadd_parts+0x15c>
     a5a:	3301      	movi      	r3, 1
     a5c:	70c8      	lsl      	r3, r2
     a5e:	6d4f      	mov      	r5, r3
     a60:	07c7      	br      	0x9ee	// 9ee <_fpadd_parts+0x22a>
     a62:	9863      	ld.w      	r3, (r14, 0xc)
     a64:	43c1      	lsli      	r6, r3, 1
     a66:	351f      	movi      	r5, 31
     a68:	5d69      	subu      	r3, r5, r2
     a6a:	6d5b      	mov      	r5, r6
     a6c:	714c      	lsl      	r5, r3
     a6e:	b8a9      	st.w      	r5, (r14, 0x24)
     a70:	98a2      	ld.w      	r5, (r14, 0x8)
     a72:	98c3      	ld.w      	r6, (r14, 0xc)
     a74:	b8a7      	st.w      	r5, (r14, 0x1c)
     a76:	b8c8      	st.w      	r6, (r14, 0x20)
     a78:	9867      	ld.w      	r3, (r14, 0x1c)
     a7a:	70c9      	lsr      	r3, r2
     a7c:	98a9      	ld.w      	r5, (r14, 0x24)
     a7e:	6cd4      	or      	r3, r5
     a80:	b864      	st.w      	r3, (r14, 0x10)
     a82:	9868      	ld.w      	r3, (r14, 0x20)
     a84:	70c9      	lsr      	r3, r2
     a86:	b865      	st.w      	r3, (r14, 0x14)
     a88:	07ab      	br      	0x9de	// 9de <_fpadd_parts+0x21a>
	...

00000a8c <__adddf3>:
     a8c:	14d0      	push      	r15
     a8e:	1433      	subi      	r14, r14, 76
     a90:	b800      	st.w      	r0, (r14, 0x0)
     a92:	b821      	st.w      	r1, (r14, 0x4)
     a94:	6c3b      	mov      	r0, r14
     a96:	1904      	addi      	r1, r14, 16
     a98:	b863      	st.w      	r3, (r14, 0xc)
     a9a:	b842      	st.w      	r2, (r14, 0x8)
     a9c:	e0000526 	bsr      	0x14e8	// 14e8 <__unpack_d>
     aa0:	1909      	addi      	r1, r14, 36
     aa2:	1802      	addi      	r0, r14, 8
     aa4:	e0000522 	bsr      	0x14e8	// 14e8 <__unpack_d>
     aa8:	1a0e      	addi      	r2, r14, 56
     aaa:	1909      	addi      	r1, r14, 36
     aac:	1804      	addi      	r0, r14, 16
     aae:	e3fffe8b 	bsr      	0x7c4	// 7c4 <_fpadd_parts>
     ab2:	e000044d 	bsr      	0x134c	// 134c <__pack_d>
     ab6:	1413      	addi      	r14, r14, 76
     ab8:	1490      	pop      	r15
	...

00000abc <__subdf3>:
     abc:	14d0      	push      	r15
     abe:	1433      	subi      	r14, r14, 76
     ac0:	b800      	st.w      	r0, (r14, 0x0)
     ac2:	b821      	st.w      	r1, (r14, 0x4)
     ac4:	6c3b      	mov      	r0, r14
     ac6:	1904      	addi      	r1, r14, 16
     ac8:	b842      	st.w      	r2, (r14, 0x8)
     aca:	b863      	st.w      	r3, (r14, 0xc)
     acc:	e000050e 	bsr      	0x14e8	// 14e8 <__unpack_d>
     ad0:	1909      	addi      	r1, r14, 36
     ad2:	1802      	addi      	r0, r14, 8
     ad4:	e000050a 	bsr      	0x14e8	// 14e8 <__unpack_d>
     ad8:	986a      	ld.w      	r3, (r14, 0x28)
     ada:	3201      	movi      	r2, 1
     adc:	6cc9      	xor      	r3, r2
     ade:	1909      	addi      	r1, r14, 36
     ae0:	1a0e      	addi      	r2, r14, 56
     ae2:	1804      	addi      	r0, r14, 16
     ae4:	b86a      	st.w      	r3, (r14, 0x28)
     ae6:	e3fffe6f 	bsr      	0x7c4	// 7c4 <_fpadd_parts>
     aea:	e0000431 	bsr      	0x134c	// 134c <__pack_d>
     aee:	1413      	addi      	r14, r14, 76
     af0:	1490      	pop      	r15
     af2:	0000      	bkpt
     af4:	0fffffff 	.long	0x0fffffff
     af8:	1fffffff 	.long	0x1fffffff
     afc:	000058e4 	.long	0x000058e4

00000b00 <__muldf3>:
     b00:	14d4      	push      	r4-r7, r15
     b02:	143b      	subi      	r14, r14, 108
     b04:	b808      	st.w      	r0, (r14, 0x20)
     b06:	b829      	st.w      	r1, (r14, 0x24)
     b08:	1808      	addi      	r0, r14, 32
     b0a:	190c      	addi      	r1, r14, 48
     b0c:	b86b      	st.w      	r3, (r14, 0x2c)
     b0e:	b84a      	st.w      	r2, (r14, 0x28)
     b10:	e00004ec 	bsr      	0x14e8	// 14e8 <__unpack_d>
     b14:	1911      	addi      	r1, r14, 68
     b16:	180a      	addi      	r0, r14, 40
     b18:	e00004e8 	bsr      	0x14e8	// 14e8 <__unpack_d>
     b1c:	986c      	ld.w      	r3, (r14, 0x30)
     b1e:	3b01      	cmphsi      	r3, 2
     b20:	0cac      	bf      	0xc78	// c78 <__muldf3+0x178>
     b22:	9851      	ld.w      	r2, (r14, 0x44)
     b24:	3a01      	cmphsi      	r2, 2
     b26:	0c9c      	bf      	0xc5e	// c5e <__muldf3+0x15e>
     b28:	3b44      	cmpnei      	r3, 4
     b2a:	0ca5      	bf      	0xc74	// c74 <__muldf3+0x174>
     b2c:	3a44      	cmpnei      	r2, 4
     b2e:	0c96      	bf      	0xc5a	// c5a <__muldf3+0x15a>
     b30:	3b42      	cmpnei      	r3, 2
     b32:	0ca3      	bf      	0xc78	// c78 <__muldf3+0x178>
     b34:	3a42      	cmpnei      	r2, 2
     b36:	0c94      	bf      	0xc5e	// c5e <__muldf3+0x15e>
     b38:	98ef      	ld.w      	r7, (r14, 0x3c)
     b3a:	98b4      	ld.w      	r5, (r14, 0x50)
     b3c:	9875      	ld.w      	r3, (r14, 0x54)
     b3e:	6d8f      	mov      	r6, r3
     b40:	6c9f      	mov      	r2, r7
     b42:	3300      	movi      	r3, 0
     b44:	6c17      	mov      	r0, r5
     b46:	3100      	movi      	r1, 0
     b48:	e00002de 	bsr      	0x1104	// 1104 <__muldi3>
     b4c:	b804      	st.w      	r0, (r14, 0x10)
     b4e:	b825      	st.w      	r1, (r14, 0x14)
     b50:	6c9f      	mov      	r2, r7
     b52:	3300      	movi      	r3, 0
     b54:	6c1b      	mov      	r0, r6
     b56:	3100      	movi      	r1, 0
     b58:	9890      	ld.w      	r4, (r14, 0x40)
     b5a:	b8c2      	st.w      	r6, (r14, 0x8)
     b5c:	e00002d4 	bsr      	0x1104	// 1104 <__muldi3>
     b60:	6d83      	mov      	r6, r0
     b62:	6dc7      	mov      	r7, r1
     b64:	9842      	ld.w      	r2, (r14, 0x8)
     b66:	3300      	movi      	r3, 0
     b68:	6c13      	mov      	r0, r4
     b6a:	3100      	movi      	r1, 0
     b6c:	e00002cc 	bsr      	0x1104	// 1104 <__muldi3>
     b70:	b806      	st.w      	r0, (r14, 0x18)
     b72:	b827      	st.w      	r1, (r14, 0x1c)
     b74:	6c97      	mov      	r2, r5
     b76:	3300      	movi      	r3, 0
     b78:	6c13      	mov      	r0, r4
     b7a:	3100      	movi      	r1, 0
     b7c:	e00002c4 	bsr      	0x1104	// 1104 <__muldi3>
     b80:	6401      	cmplt      	r0, r0
     b82:	6019      	addc      	r0, r6
     b84:	605d      	addc      	r1, r7
     b86:	65c4      	cmphs      	r1, r7
     b88:	0c91      	bf      	0xcaa	// caa <__muldf3+0x1aa>
     b8a:	645e      	cmpne      	r7, r1
     b8c:	0c8d      	bf      	0xca6	// ca6 <__muldf3+0x1a6>
     b8e:	3300      	movi      	r3, 0
     b90:	3400      	movi      	r4, 0
     b92:	b862      	st.w      	r3, (r14, 0x8)
     b94:	b883      	st.w      	r4, (r14, 0xc)
     b96:	9884      	ld.w      	r4, (r14, 0x10)
     b98:	98a5      	ld.w      	r5, (r14, 0x14)
     b9a:	3600      	movi      	r6, 0
     b9c:	6dc3      	mov      	r7, r0
     b9e:	6c93      	mov      	r2, r4
     ba0:	6cd7      	mov      	r3, r5
     ba2:	6489      	cmplt      	r2, r2
     ba4:	6099      	addc      	r2, r6
     ba6:	60dd      	addc      	r3, r7
     ba8:	6d8b      	mov      	r6, r2
     baa:	6dcf      	mov      	r7, r3
     bac:	6c93      	mov      	r2, r4
     bae:	6cd7      	mov      	r3, r5
     bb0:	64dc      	cmphs      	r7, r3
     bb2:	0c70      	bf      	0xc92	// c92 <__muldf3+0x192>
     bb4:	65ce      	cmpne      	r3, r7
     bb6:	0c6c      	bf      	0xc8e	// c8e <__muldf3+0x18e>
     bb8:	6c87      	mov      	r2, r1
     bba:	3300      	movi      	r3, 0
     bbc:	9806      	ld.w      	r0, (r14, 0x18)
     bbe:	9827      	ld.w      	r1, (r14, 0x1c)
     bc0:	6401      	cmplt      	r0, r0
     bc2:	6009      	addc      	r0, r2
     bc4:	604d      	addc      	r1, r3
     bc6:	6c83      	mov      	r2, r0
     bc8:	6cc7      	mov      	r3, r1
     bca:	9802      	ld.w      	r0, (r14, 0x8)
     bcc:	9823      	ld.w      	r1, (r14, 0xc)
     bce:	6401      	cmplt      	r0, r0
     bd0:	6009      	addc      	r0, r2
     bd2:	604d      	addc      	r1, r3
     bd4:	6c83      	mov      	r2, r0
     bd6:	6cc7      	mov      	r3, r1
     bd8:	988e      	ld.w      	r4, (r14, 0x38)
     bda:	9833      	ld.w      	r1, (r14, 0x4c)
     bdc:	6104      	addu      	r4, r1
     bde:	5c2e      	addi      	r1, r4, 4
     be0:	b838      	st.w      	r1, (r14, 0x60)
     be2:	980d      	ld.w      	r0, (r14, 0x34)
     be4:	9832      	ld.w      	r1, (r14, 0x48)
     be6:	6442      	cmpne      	r0, r1
     be8:	12b0      	lrw      	r5, 0x1fffffff	// d28 <__muldf3+0x228>
     bea:	3100      	movi      	r1, 0
     bec:	6045      	addc      	r1, r1
     bee:	64d4      	cmphs      	r5, r3
     bf0:	b837      	st.w      	r1, (r14, 0x5c)
     bf2:	0879      	bt      	0xce4	// ce4 <__muldf3+0x1e4>
     bf4:	2404      	addi      	r4, 5
     bf6:	b8a4      	st.w      	r5, (r14, 0x10)
     bf8:	3001      	movi      	r0, 1
     bfa:	3100      	movi      	r1, 0
     bfc:	6808      	and      	r0, r2
     bfe:	684c      	and      	r1, r3
     c00:	6c04      	or      	r0, r1
     c02:	3840      	cmpnei      	r0, 0
     c04:	b882      	st.w      	r4, (r14, 0x8)
     c06:	0c0e      	bf      	0xc22	// c22 <__muldf3+0x122>
     c08:	473f      	lsli      	r1, r7, 31
     c0a:	4e01      	lsri      	r0, r6, 1
     c0c:	6c04      	or      	r0, r1
     c0e:	4f21      	lsri      	r1, r7, 1
     c10:	b800      	st.w      	r0, (r14, 0x0)
     c12:	b821      	st.w      	r1, (r14, 0x4)
     c14:	3180      	movi      	r1, 128
     c16:	98c0      	ld.w      	r6, (r14, 0x0)
     c18:	98e1      	ld.w      	r7, (r14, 0x4)
     c1a:	3000      	movi      	r0, 0
     c1c:	4138      	lsli      	r1, r1, 24
     c1e:	6d80      	or      	r6, r0
     c20:	6dc4      	or      	r7, r1
     c22:	4b21      	lsri      	r1, r3, 1
     c24:	43bf      	lsli      	r5, r3, 31
     c26:	4a01      	lsri      	r0, r2, 1
     c28:	6cc7      	mov      	r3, r1
     c2a:	9824      	ld.w      	r1, (r14, 0x10)
     c2c:	6d40      	or      	r5, r0
     c2e:	64c4      	cmphs      	r1, r3
     c30:	6c97      	mov      	r2, r5
     c32:	2400      	addi      	r4, 1
     c34:	0fe2      	bf      	0xbf8	// bf8 <__muldf3+0xf8>
     c36:	9822      	ld.w      	r1, (r14, 0x8)
     c38:	b838      	st.w      	r1, (r14, 0x60)
     c3a:	30ff      	movi      	r0, 255
     c3c:	3100      	movi      	r1, 0
     c3e:	6808      	and      	r0, r2
     c40:	684c      	and      	r1, r3
     c42:	3480      	movi      	r4, 128
     c44:	6502      	cmpne      	r0, r4
     c46:	0c37      	bf      	0xcb4	// cb4 <__muldf3+0x1b4>
     c48:	b859      	st.w      	r2, (r14, 0x64)
     c4a:	b87a      	st.w      	r3, (r14, 0x68)
     c4c:	3303      	movi      	r3, 3
     c4e:	b876      	st.w      	r3, (r14, 0x58)
     c50:	1816      	addi      	r0, r14, 88
     c52:	e000037d 	bsr      	0x134c	// 134c <__pack_d>
     c56:	141b      	addi      	r14, r14, 108
     c58:	1494      	pop      	r4-r7, r15
     c5a:	3b42      	cmpnei      	r3, 2
     c5c:	0c42      	bf      	0xce0	// ce0 <__muldf3+0x1e0>
     c5e:	9872      	ld.w      	r3, (r14, 0x48)
     c60:	984d      	ld.w      	r2, (r14, 0x34)
     c62:	64ca      	cmpne      	r2, r3
     c64:	3300      	movi      	r3, 0
     c66:	60cd      	addc      	r3, r3
     c68:	1811      	addi      	r0, r14, 68
     c6a:	b872      	st.w      	r3, (r14, 0x48)
     c6c:	e0000370 	bsr      	0x134c	// 134c <__pack_d>
     c70:	141b      	addi      	r14, r14, 108
     c72:	1494      	pop      	r4-r7, r15
     c74:	3a42      	cmpnei      	r2, 2
     c76:	0c35      	bf      	0xce0	// ce0 <__muldf3+0x1e0>
     c78:	984d      	ld.w      	r2, (r14, 0x34)
     c7a:	9872      	ld.w      	r3, (r14, 0x48)
     c7c:	64ca      	cmpne      	r2, r3
     c7e:	3300      	movi      	r3, 0
     c80:	60cd      	addc      	r3, r3
     c82:	180c      	addi      	r0, r14, 48
     c84:	b86d      	st.w      	r3, (r14, 0x34)
     c86:	e0000363 	bsr      	0x134c	// 134c <__pack_d>
     c8a:	141b      	addi      	r14, r14, 108
     c8c:	1494      	pop      	r4-r7, r15
     c8e:	6498      	cmphs      	r6, r2
     c90:	0b94      	bt      	0xbb8	// bb8 <__muldf3+0xb8>
     c92:	9882      	ld.w      	r4, (r14, 0x8)
     c94:	98a3      	ld.w      	r5, (r14, 0xc)
     c96:	3201      	movi      	r2, 1
     c98:	3300      	movi      	r3, 0
     c9a:	6511      	cmplt      	r4, r4
     c9c:	6109      	addc      	r4, r2
     c9e:	614d      	addc      	r5, r3
     ca0:	b882      	st.w      	r4, (r14, 0x8)
     ca2:	b8a3      	st.w      	r5, (r14, 0xc)
     ca4:	078a      	br      	0xbb8	// bb8 <__muldf3+0xb8>
     ca6:	6580      	cmphs      	r0, r6
     ca8:	0b73      	bt      	0xb8e	// b8e <__muldf3+0x8e>
     caa:	3300      	movi      	r3, 0
     cac:	3401      	movi      	r4, 1
     cae:	b862      	st.w      	r3, (r14, 0x8)
     cb0:	b883      	st.w      	r4, (r14, 0xc)
     cb2:	0772      	br      	0xb96	// b96 <__muldf3+0x96>
     cb4:	3940      	cmpnei      	r1, 0
     cb6:	0bc9      	bt      	0xc48	// c48 <__muldf3+0x148>
     cb8:	3180      	movi      	r1, 128
     cba:	4121      	lsli      	r1, r1, 1
     cbc:	6848      	and      	r1, r2
     cbe:	3940      	cmpnei      	r1, 0
     cc0:	0bc4      	bt      	0xc48	// c48 <__muldf3+0x148>
     cc2:	6c5b      	mov      	r1, r6
     cc4:	6c5c      	or      	r1, r7
     cc6:	3940      	cmpnei      	r1, 0
     cc8:	0fc0      	bf      	0xc48	// c48 <__muldf3+0x148>
     cca:	3080      	movi      	r0, 128
     ccc:	3100      	movi      	r1, 0
     cce:	6401      	cmplt      	r0, r0
     cd0:	6009      	addc      	r0, r2
     cd2:	604d      	addc      	r1, r3
     cd4:	34ff      	movi      	r4, 255
     cd6:	6d43      	mov      	r5, r0
     cd8:	6951      	andn      	r5, r4
     cda:	6c97      	mov      	r2, r5
     cdc:	6cc7      	mov      	r3, r1
     cde:	07b5      	br      	0xc48	// c48 <__muldf3+0x148>
     ce0:	1013      	lrw      	r0, 0x58e4	// d2c <__muldf3+0x22c>
     ce2:	07b8      	br      	0xc52	// c52 <__muldf3+0x152>
     ce4:	1033      	lrw      	r1, 0xfffffff	// d30 <__muldf3+0x230>
     ce6:	64c4      	cmphs      	r1, r3
     ce8:	0fa9      	bf      	0xc3a	// c3a <__muldf3+0x13a>
     cea:	2402      	addi      	r4, 3
     cec:	b822      	st.w      	r1, (r14, 0x8)
     cee:	4a1f      	lsri      	r0, r2, 31
     cf0:	4321      	lsli      	r1, r3, 1
     cf2:	42a1      	lsli      	r5, r2, 1
     cf4:	6c04      	or      	r0, r1
     cf6:	3fdf      	btsti      	r7, 31
     cf8:	b880      	st.w      	r4, (r14, 0x0)
     cfa:	6c97      	mov      	r2, r5
     cfc:	6cc3      	mov      	r3, r0
     cfe:	0c07      	bf      	0xd0c	// d0c <__muldf3+0x20c>
     d00:	3001      	movi      	r0, 1
     d02:	3100      	movi      	r1, 0
     d04:	6c08      	or      	r0, r2
     d06:	6c4c      	or      	r1, r3
     d08:	6c83      	mov      	r2, r0
     d0a:	6cc7      	mov      	r3, r1
     d0c:	4721      	lsli      	r1, r7, 1
     d0e:	4e1f      	lsri      	r0, r6, 31
     d10:	6c04      	or      	r0, r1
     d12:	9822      	ld.w      	r1, (r14, 0x8)
     d14:	46a1      	lsli      	r5, r6, 1
     d16:	64c4      	cmphs      	r1, r3
     d18:	6d97      	mov      	r6, r5
     d1a:	6dc3      	mov      	r7, r0
     d1c:	2c00      	subi      	r4, 1
     d1e:	0be8      	bt      	0xcee	// cee <__muldf3+0x1ee>
     d20:	9820      	ld.w      	r1, (r14, 0x0)
     d22:	b838      	st.w      	r1, (r14, 0x60)
     d24:	078b      	br      	0xc3a	// c3a <__muldf3+0x13a>
     d26:	0000      	bkpt
     d28:	1fffffff 	.long	0x1fffffff
     d2c:	000058e4 	.long	0x000058e4
     d30:	0fffffff 	.long	0x0fffffff

00000d34 <__divdf3>:
     d34:	14d4      	push      	r4-r7, r15
     d36:	1432      	subi      	r14, r14, 72
     d38:	b804      	st.w      	r0, (r14, 0x10)
     d3a:	b825      	st.w      	r1, (r14, 0x14)
     d3c:	1804      	addi      	r0, r14, 16
     d3e:	1908      	addi      	r1, r14, 32
     d40:	b867      	st.w      	r3, (r14, 0x1c)
     d42:	b846      	st.w      	r2, (r14, 0x18)
     d44:	e00003d2 	bsr      	0x14e8	// 14e8 <__unpack_d>
     d48:	190d      	addi      	r1, r14, 52
     d4a:	1806      	addi      	r0, r14, 24
     d4c:	e00003ce 	bsr      	0x14e8	// 14e8 <__unpack_d>
     d50:	9868      	ld.w      	r3, (r14, 0x20)
     d52:	3b01      	cmphsi      	r3, 2
     d54:	0c66      	bf      	0xe20	// e20 <__divdf3+0xec>
     d56:	982d      	ld.w      	r1, (r14, 0x34)
     d58:	3901      	cmphsi      	r1, 2
     d5a:	0c92      	bf      	0xe7e	// e7e <__divdf3+0x14a>
     d5c:	9849      	ld.w      	r2, (r14, 0x24)
     d5e:	980e      	ld.w      	r0, (r14, 0x38)
     d60:	6c81      	xor      	r2, r0
     d62:	3b44      	cmpnei      	r3, 4
     d64:	b849      	st.w      	r2, (r14, 0x24)
     d66:	0c62      	bf      	0xe2a	// e2a <__divdf3+0xf6>
     d68:	3b42      	cmpnei      	r3, 2
     d6a:	0c60      	bf      	0xe2a	// e2a <__divdf3+0xf6>
     d6c:	3944      	cmpnei      	r1, 4
     d6e:	0c62      	bf      	0xe32	// e32 <__divdf3+0xfe>
     d70:	3942      	cmpnei      	r1, 2
     d72:	0c82      	bf      	0xe76	// e76 <__divdf3+0x142>
     d74:	982a      	ld.w      	r1, (r14, 0x28)
     d76:	986f      	ld.w      	r3, (r14, 0x3c)
     d78:	604e      	subu      	r1, r3
     d7a:	9890      	ld.w      	r4, (r14, 0x40)
     d7c:	98b1      	ld.w      	r5, (r14, 0x44)
     d7e:	984b      	ld.w      	r2, (r14, 0x2c)
     d80:	986c      	ld.w      	r3, (r14, 0x30)
     d82:	654c      	cmphs      	r3, r5
     d84:	b82a      	st.w      	r1, (r14, 0x28)
     d86:	6d93      	mov      	r6, r4
     d88:	6dd7      	mov      	r7, r5
     d8a:	0c05      	bf      	0xd94	// d94 <__divdf3+0x60>
     d8c:	64d6      	cmpne      	r5, r3
     d8e:	080b      	bt      	0xda4	// da4 <__divdf3+0x70>
     d90:	6508      	cmphs      	r2, r4
     d92:	0809      	bt      	0xda4	// da4 <__divdf3+0x70>
     d94:	4a9f      	lsri      	r4, r2, 31
     d96:	4301      	lsli      	r0, r3, 1
     d98:	42a1      	lsli      	r5, r2, 1
     d9a:	6d00      	or      	r4, r0
     d9c:	2900      	subi      	r1, 1
     d9e:	6c97      	mov      	r2, r5
     da0:	6cd3      	mov      	r3, r4
     da2:	b82a      	st.w      	r1, (r14, 0x28)
     da4:	3000      	movi      	r0, 0
     da6:	3100      	movi      	r1, 0
     da8:	b802      	st.w      	r0, (r14, 0x8)
     daa:	b823      	st.w      	r1, (r14, 0xc)
     dac:	3180      	movi      	r1, 128
     dae:	343d      	movi      	r4, 61
     db0:	3000      	movi      	r0, 0
     db2:	4135      	lsli      	r1, r1, 21
     db4:	b8c0      	st.w      	r6, (r14, 0x0)
     db6:	b8e1      	st.w      	r7, (r14, 0x4)
     db8:	98a0      	ld.w      	r5, (r14, 0x0)
     dba:	98c1      	ld.w      	r6, (r14, 0x4)
     dbc:	658c      	cmphs      	r3, r6
     dbe:	0c10      	bf      	0xdde	// dde <__divdf3+0xaa>
     dc0:	64da      	cmpne      	r6, r3
     dc2:	0803      	bt      	0xdc8	// dc8 <__divdf3+0x94>
     dc4:	6548      	cmphs      	r2, r5
     dc6:	0c0c      	bf      	0xdde	// dde <__divdf3+0xaa>
     dc8:	98a2      	ld.w      	r5, (r14, 0x8)
     dca:	98c3      	ld.w      	r6, (r14, 0xc)
     dcc:	6d40      	or      	r5, r0
     dce:	6d84      	or      	r6, r1
     dd0:	b8a2      	st.w      	r5, (r14, 0x8)
     dd2:	b8c3      	st.w      	r6, (r14, 0xc)
     dd4:	98a0      	ld.w      	r5, (r14, 0x0)
     dd6:	98c1      	ld.w      	r6, (r14, 0x4)
     dd8:	6488      	cmphs      	r2, r2
     dda:	6097      	subc      	r2, r5
     ddc:	60db      	subc      	r3, r6
     dde:	41bf      	lsli      	r5, r1, 31
     de0:	48e1      	lsri      	r7, r0, 1
     de2:	6d97      	mov      	r6, r5
     de4:	49a1      	lsri      	r5, r1, 1
     de6:	6d9c      	or      	r6, r7
     de8:	6c57      	mov      	r1, r5
     dea:	4abf      	lsri      	r5, r2, 31
     dec:	6c1b      	mov      	r0, r6
     dee:	2c00      	subi      	r4, 1
     df0:	6d97      	mov      	r6, r5
     df2:	43a1      	lsli      	r5, r3, 1
     df4:	6d94      	or      	r6, r5
     df6:	4261      	lsli      	r3, r2, 1
     df8:	3c40      	cmpnei      	r4, 0
     dfa:	6dcf      	mov      	r7, r3
     dfc:	6c8f      	mov      	r2, r3
     dfe:	6cdb      	mov      	r3, r6
     e00:	0bdc      	bt      	0xdb8	// db8 <__divdf3+0x84>
     e02:	30ff      	movi      	r0, 255
     e04:	3100      	movi      	r1, 0
     e06:	9882      	ld.w      	r4, (r14, 0x8)
     e08:	98a3      	ld.w      	r5, (r14, 0xc)
     e0a:	6900      	and      	r4, r0
     e0c:	6944      	and      	r5, r1
     e0e:	6c13      	mov      	r0, r4
     e10:	6c57      	mov      	r1, r5
     e12:	3480      	movi      	r4, 128
     e14:	6502      	cmpne      	r0, r4
     e16:	0c15      	bf      	0xe40	// e40 <__divdf3+0x10c>
     e18:	9862      	ld.w      	r3, (r14, 0x8)
     e1a:	9883      	ld.w      	r4, (r14, 0xc)
     e1c:	b86b      	st.w      	r3, (r14, 0x2c)
     e1e:	b88c      	st.w      	r4, (r14, 0x30)
     e20:	1808      	addi      	r0, r14, 32
     e22:	e0000295 	bsr      	0x134c	// 134c <__pack_d>
     e26:	1412      	addi      	r14, r14, 72
     e28:	1494      	pop      	r4-r7, r15
     e2a:	644e      	cmpne      	r3, r1
     e2c:	0bfa      	bt      	0xe20	// e20 <__divdf3+0xec>
     e2e:	1016      	lrw      	r0, 0x58e4	// e84 <__divdf3+0x150>
     e30:	07f9      	br      	0xe22	// e22 <__divdf3+0xee>
     e32:	3300      	movi      	r3, 0
     e34:	3400      	movi      	r4, 0
     e36:	b86b      	st.w      	r3, (r14, 0x2c)
     e38:	b88c      	st.w      	r4, (r14, 0x30)
     e3a:	b86a      	st.w      	r3, (r14, 0x28)
     e3c:	1808      	addi      	r0, r14, 32
     e3e:	07f2      	br      	0xe22	// e22 <__divdf3+0xee>
     e40:	3940      	cmpnei      	r1, 0
     e42:	0beb      	bt      	0xe18	// e18 <__divdf3+0xe4>
     e44:	3180      	movi      	r1, 128
     e46:	4121      	lsli      	r1, r1, 1
     e48:	9882      	ld.w      	r4, (r14, 0x8)
     e4a:	98a3      	ld.w      	r5, (r14, 0xc)
     e4c:	6850      	and      	r1, r4
     e4e:	3940      	cmpnei      	r1, 0
     e50:	0be4      	bt      	0xe18	// e18 <__divdf3+0xe4>
     e52:	6c98      	or      	r2, r6
     e54:	3a40      	cmpnei      	r2, 0
     e56:	0fe1      	bf      	0xe18	// e18 <__divdf3+0xe4>
     e58:	3280      	movi      	r2, 128
     e5a:	3300      	movi      	r3, 0
     e5c:	6c13      	mov      	r0, r4
     e5e:	6c57      	mov      	r1, r5
     e60:	6401      	cmplt      	r0, r0
     e62:	6009      	addc      	r0, r2
     e64:	604d      	addc      	r1, r3
     e66:	6c83      	mov      	r2, r0
     e68:	6cc7      	mov      	r3, r1
     e6a:	6c0b      	mov      	r0, r2
     e6c:	31ff      	movi      	r1, 255
     e6e:	6805      	andn      	r0, r1
     e70:	b802      	st.w      	r0, (r14, 0x8)
     e72:	b863      	st.w      	r3, (r14, 0xc)
     e74:	07d2      	br      	0xe18	// e18 <__divdf3+0xe4>
     e76:	3304      	movi      	r3, 4
     e78:	b868      	st.w      	r3, (r14, 0x20)
     e7a:	1808      	addi      	r0, r14, 32
     e7c:	07d3      	br      	0xe22	// e22 <__divdf3+0xee>
     e7e:	180d      	addi      	r0, r14, 52
     e80:	07d1      	br      	0xe22	// e22 <__divdf3+0xee>
     e82:	0000      	bkpt
     e84:	000058e4 	.long	0x000058e4

00000e88 <__gtdf2>:
     e88:	14d0      	push      	r15
     e8a:	142e      	subi      	r14, r14, 56
     e8c:	b800      	st.w      	r0, (r14, 0x0)
     e8e:	b821      	st.w      	r1, (r14, 0x4)
     e90:	6c3b      	mov      	r0, r14
     e92:	1904      	addi      	r1, r14, 16
     e94:	b863      	st.w      	r3, (r14, 0xc)
     e96:	b842      	st.w      	r2, (r14, 0x8)
     e98:	e0000328 	bsr      	0x14e8	// 14e8 <__unpack_d>
     e9c:	1909      	addi      	r1, r14, 36
     e9e:	1802      	addi      	r0, r14, 8
     ea0:	e0000324 	bsr      	0x14e8	// 14e8 <__unpack_d>
     ea4:	9864      	ld.w      	r3, (r14, 0x10)
     ea6:	3b01      	cmphsi      	r3, 2
     ea8:	0c0a      	bf      	0xebc	// ebc <__gtdf2+0x34>
     eaa:	9869      	ld.w      	r3, (r14, 0x24)
     eac:	3b01      	cmphsi      	r3, 2
     eae:	0c07      	bf      	0xebc	// ebc <__gtdf2+0x34>
     eb0:	1909      	addi      	r1, r14, 36
     eb2:	1804      	addi      	r0, r14, 16
     eb4:	e000037c 	bsr      	0x15ac	// 15ac <__fpcmp_parts_d>
     eb8:	140e      	addi      	r14, r14, 56
     eba:	1490      	pop      	r15
     ebc:	3000      	movi      	r0, 0
     ebe:	2800      	subi      	r0, 1
     ec0:	140e      	addi      	r14, r14, 56
     ec2:	1490      	pop      	r15

00000ec4 <__gedf2>:
     ec4:	14d0      	push      	r15
     ec6:	142e      	subi      	r14, r14, 56
     ec8:	b800      	st.w      	r0, (r14, 0x0)
     eca:	b821      	st.w      	r1, (r14, 0x4)
     ecc:	6c3b      	mov      	r0, r14
     ece:	1904      	addi      	r1, r14, 16
     ed0:	b863      	st.w      	r3, (r14, 0xc)
     ed2:	b842      	st.w      	r2, (r14, 0x8)
     ed4:	e000030a 	bsr      	0x14e8	// 14e8 <__unpack_d>
     ed8:	1909      	addi      	r1, r14, 36
     eda:	1802      	addi      	r0, r14, 8
     edc:	e0000306 	bsr      	0x14e8	// 14e8 <__unpack_d>
     ee0:	9864      	ld.w      	r3, (r14, 0x10)
     ee2:	3b01      	cmphsi      	r3, 2
     ee4:	0c0a      	bf      	0xef8	// ef8 <__gedf2+0x34>
     ee6:	9869      	ld.w      	r3, (r14, 0x24)
     ee8:	3b01      	cmphsi      	r3, 2
     eea:	0c07      	bf      	0xef8	// ef8 <__gedf2+0x34>
     eec:	1909      	addi      	r1, r14, 36
     eee:	1804      	addi      	r0, r14, 16
     ef0:	e000035e 	bsr      	0x15ac	// 15ac <__fpcmp_parts_d>
     ef4:	140e      	addi      	r14, r14, 56
     ef6:	1490      	pop      	r15
     ef8:	3000      	movi      	r0, 0
     efa:	2800      	subi      	r0, 1
     efc:	140e      	addi      	r14, r14, 56
     efe:	1490      	pop      	r15

00000f00 <__ltdf2>:
     f00:	14d0      	push      	r15
     f02:	142e      	subi      	r14, r14, 56
     f04:	b800      	st.w      	r0, (r14, 0x0)
     f06:	b821      	st.w      	r1, (r14, 0x4)
     f08:	6c3b      	mov      	r0, r14
     f0a:	1904      	addi      	r1, r14, 16
     f0c:	b863      	st.w      	r3, (r14, 0xc)
     f0e:	b842      	st.w      	r2, (r14, 0x8)
     f10:	e00002ec 	bsr      	0x14e8	// 14e8 <__unpack_d>
     f14:	1909      	addi      	r1, r14, 36
     f16:	1802      	addi      	r0, r14, 8
     f18:	e00002e8 	bsr      	0x14e8	// 14e8 <__unpack_d>
     f1c:	9864      	ld.w      	r3, (r14, 0x10)
     f1e:	3b01      	cmphsi      	r3, 2
     f20:	0c0a      	bf      	0xf34	// f34 <__ltdf2+0x34>
     f22:	9869      	ld.w      	r3, (r14, 0x24)
     f24:	3b01      	cmphsi      	r3, 2
     f26:	0c07      	bf      	0xf34	// f34 <__ltdf2+0x34>
     f28:	1909      	addi      	r1, r14, 36
     f2a:	1804      	addi      	r0, r14, 16
     f2c:	e0000340 	bsr      	0x15ac	// 15ac <__fpcmp_parts_d>
     f30:	140e      	addi      	r14, r14, 56
     f32:	1490      	pop      	r15
     f34:	3001      	movi      	r0, 1
     f36:	140e      	addi      	r14, r14, 56
     f38:	1490      	pop      	r15
	...

00000f3c <__ledf2>:
     f3c:	14d0      	push      	r15
     f3e:	142e      	subi      	r14, r14, 56
     f40:	b800      	st.w      	r0, (r14, 0x0)
     f42:	b821      	st.w      	r1, (r14, 0x4)
     f44:	6c3b      	mov      	r0, r14
     f46:	1904      	addi      	r1, r14, 16
     f48:	b863      	st.w      	r3, (r14, 0xc)
     f4a:	b842      	st.w      	r2, (r14, 0x8)
     f4c:	e00002ce 	bsr      	0x14e8	// 14e8 <__unpack_d>
     f50:	1909      	addi      	r1, r14, 36
     f52:	1802      	addi      	r0, r14, 8
     f54:	e00002ca 	bsr      	0x14e8	// 14e8 <__unpack_d>
     f58:	9864      	ld.w      	r3, (r14, 0x10)
     f5a:	3b01      	cmphsi      	r3, 2
     f5c:	0c0a      	bf      	0xf70	// f70 <__ledf2+0x34>
     f5e:	9869      	ld.w      	r3, (r14, 0x24)
     f60:	3b01      	cmphsi      	r3, 2
     f62:	0c07      	bf      	0xf70	// f70 <__ledf2+0x34>
     f64:	1909      	addi      	r1, r14, 36
     f66:	1804      	addi      	r0, r14, 16
     f68:	e0000322 	bsr      	0x15ac	// 15ac <__fpcmp_parts_d>
     f6c:	140e      	addi      	r14, r14, 56
     f6e:	1490      	pop      	r15
     f70:	3001      	movi      	r0, 1
     f72:	140e      	addi      	r14, r14, 56
     f74:	1490      	pop      	r15
	...

00000f78 <__floatsidf>:
     f78:	14d1      	push      	r4, r15
     f7a:	1425      	subi      	r14, r14, 20
     f7c:	3303      	movi      	r3, 3
     f7e:	b860      	st.w      	r3, (r14, 0x0)
     f80:	3840      	cmpnei      	r0, 0
     f82:	487f      	lsri      	r3, r0, 31
     f84:	b861      	st.w      	r3, (r14, 0x4)
     f86:	0808      	bt      	0xf96	// f96 <__floatsidf+0x1e>
     f88:	3302      	movi      	r3, 2
     f8a:	b860      	st.w      	r3, (r14, 0x0)
     f8c:	6c3b      	mov      	r0, r14
     f8e:	e00001df 	bsr      	0x134c	// 134c <__pack_d>
     f92:	1405      	addi      	r14, r14, 20
     f94:	1491      	pop      	r4, r15
     f96:	38df      	btsti      	r0, 31
     f98:	0812      	bt      	0xfbc	// fbc <__floatsidf+0x44>
     f9a:	6d03      	mov      	r4, r0
     f9c:	6c13      	mov      	r0, r4
     f9e:	e00000d5 	bsr      	0x1148	// 1148 <__clzsi2>
     fa2:	321d      	movi      	r2, 29
     fa4:	6080      	addu      	r2, r0
     fa6:	2802      	subi      	r0, 3
     fa8:	38df      	btsti      	r0, 31
     faa:	0810      	bt      	0xfca	// fca <__floatsidf+0x52>
     fac:	7100      	lsl      	r4, r0
     fae:	3300      	movi      	r3, 0
     fb0:	b884      	st.w      	r4, (r14, 0x10)
     fb2:	b863      	st.w      	r3, (r14, 0xc)
     fb4:	333c      	movi      	r3, 60
     fb6:	60ca      	subu      	r3, r2
     fb8:	b862      	st.w      	r3, (r14, 0x8)
     fba:	07e9      	br      	0xf8c	// f8c <__floatsidf+0x14>
     fbc:	3380      	movi      	r3, 128
     fbe:	4378      	lsli      	r3, r3, 24
     fc0:	64c2      	cmpne      	r0, r3
     fc2:	0c0d      	bf      	0xfdc	// fdc <__floatsidf+0x64>
     fc4:	3400      	movi      	r4, 0
     fc6:	6102      	subu      	r4, r0
     fc8:	07ea      	br      	0xf9c	// f9c <__floatsidf+0x24>
     fca:	311f      	movi      	r1, 31
     fcc:	4c61      	lsri      	r3, r4, 1
     fce:	604a      	subu      	r1, r2
     fd0:	6c13      	mov      	r0, r4
     fd2:	70c5      	lsr      	r3, r1
     fd4:	7008      	lsl      	r0, r2
     fd6:	b864      	st.w      	r3, (r14, 0x10)
     fd8:	b803      	st.w      	r0, (r14, 0xc)
     fda:	07ed      	br      	0xfb4	// fb4 <__floatsidf+0x3c>
     fdc:	3000      	movi      	r0, 0
     fde:	1022      	lrw      	r1, 0xc1e00000	// fe4 <__floatsidf+0x6c>
     fe0:	07d9      	br      	0xf92	// f92 <__floatsidf+0x1a>
     fe2:	0000      	bkpt
     fe4:	c1e00000 	.long	0xc1e00000

00000fe8 <__fixdfsi>:
     fe8:	14d0      	push      	r15
     fea:	1427      	subi      	r14, r14, 28
     fec:	b800      	st.w      	r0, (r14, 0x0)
     fee:	b821      	st.w      	r1, (r14, 0x4)
     ff0:	6c3b      	mov      	r0, r14
     ff2:	1902      	addi      	r1, r14, 8
     ff4:	e000027a 	bsr      	0x14e8	// 14e8 <__unpack_d>
     ff8:	9862      	ld.w      	r3, (r14, 0x8)
     ffa:	3b02      	cmphsi      	r3, 3
     ffc:	0c20      	bf      	0x103c	// 103c <__fixdfsi+0x54>
     ffe:	3b44      	cmpnei      	r3, 4
    1000:	0c16      	bf      	0x102c	// 102c <__fixdfsi+0x44>
    1002:	9864      	ld.w      	r3, (r14, 0x10)
    1004:	3bdf      	btsti      	r3, 31
    1006:	081b      	bt      	0x103c	// 103c <__fixdfsi+0x54>
    1008:	3b3e      	cmplti      	r3, 31
    100a:	0c11      	bf      	0x102c	// 102c <__fixdfsi+0x44>
    100c:	323c      	movi      	r2, 60
    100e:	5a6d      	subu      	r3, r2, r3
    1010:	3200      	movi      	r2, 0
    1012:	2a1f      	subi      	r2, 32
    1014:	608c      	addu      	r2, r3
    1016:	3adf      	btsti      	r2, 31
    1018:	0815      	bt      	0x1042	// 1042 <__fixdfsi+0x5a>
    101a:	9806      	ld.w      	r0, (r14, 0x18)
    101c:	7009      	lsr      	r0, r2
    101e:	9863      	ld.w      	r3, (r14, 0xc)
    1020:	3b40      	cmpnei      	r3, 0
    1022:	0c0b      	bf      	0x1038	// 1038 <__fixdfsi+0x50>
    1024:	3300      	movi      	r3, 0
    1026:	5b01      	subu      	r0, r3, r0
    1028:	1407      	addi      	r14, r14, 28
    102a:	1490      	pop      	r15
    102c:	9863      	ld.w      	r3, (r14, 0xc)
    102e:	3b40      	cmpnei      	r3, 0
    1030:	3000      	movi      	r0, 0
    1032:	6001      	addc      	r0, r0
    1034:	1068      	lrw      	r3, 0x7fffffff	// 1054 <__fixdfsi+0x6c>
    1036:	600c      	addu      	r0, r3
    1038:	1407      	addi      	r14, r14, 28
    103a:	1490      	pop      	r15
    103c:	3000      	movi      	r0, 0
    103e:	1407      	addi      	r14, r14, 28
    1040:	1490      	pop      	r15
    1042:	9846      	ld.w      	r2, (r14, 0x18)
    1044:	311f      	movi      	r1, 31
    1046:	4241      	lsli      	r2, r2, 1
    1048:	604e      	subu      	r1, r3
    104a:	9805      	ld.w      	r0, (r14, 0x14)
    104c:	7084      	lsl      	r2, r1
    104e:	700d      	lsr      	r0, r3
    1050:	6c08      	or      	r0, r2
    1052:	07e6      	br      	0x101e	// 101e <__fixdfsi+0x36>
    1054:	7fffffff 	.long	0x7fffffff

00001058 <__make_dp>:
    1058:	1421      	subi      	r14, r14, 4
    105a:	14d1      	push      	r4, r15
    105c:	1425      	subi      	r14, r14, 20
    105e:	b867      	st.w      	r3, (r14, 0x1c)
    1060:	9867      	ld.w      	r3, (r14, 0x1c)
    1062:	9888      	ld.w      	r4, (r14, 0x20)
    1064:	b800      	st.w      	r0, (r14, 0x0)
    1066:	6c3b      	mov      	r0, r14
    1068:	b821      	st.w      	r1, (r14, 0x4)
    106a:	b842      	st.w      	r2, (r14, 0x8)
    106c:	b863      	st.w      	r3, (r14, 0xc)
    106e:	b884      	st.w      	r4, (r14, 0x10)
    1070:	e000016e 	bsr      	0x134c	// 134c <__pack_d>
    1074:	1405      	addi      	r14, r14, 20
    1076:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    107a:	9880      	ld.w      	r4, (r14, 0x0)
    107c:	1403      	addi      	r14, r14, 12
    107e:	783c      	jmp      	r15

00001080 <__truncdfsf2>:
    1080:	14d0      	push      	r15
    1082:	1427      	subi      	r14, r14, 28
    1084:	b800      	st.w      	r0, (r14, 0x0)
    1086:	b821      	st.w      	r1, (r14, 0x4)
    1088:	6c3b      	mov      	r0, r14
    108a:	1902      	addi      	r1, r14, 8
    108c:	e000022e 	bsr      	0x14e8	// 14e8 <__unpack_d>
    1090:	9845      	ld.w      	r2, (r14, 0x14)
    1092:	4a3e      	lsri      	r1, r2, 30
    1094:	9866      	ld.w      	r3, (r14, 0x18)
    1096:	4242      	lsli      	r2, r2, 2
    1098:	4362      	lsli      	r3, r3, 2
    109a:	3a40      	cmpnei      	r2, 0
    109c:	6cc4      	or      	r3, r1
    109e:	0c02      	bf      	0x10a2	// 10a2 <__truncdfsf2+0x22>
    10a0:	3ba0      	bseti      	r3, 0
    10a2:	9844      	ld.w      	r2, (r14, 0x10)
    10a4:	9823      	ld.w      	r1, (r14, 0xc)
    10a6:	9802      	ld.w      	r0, (r14, 0x8)
    10a8:	e0000146 	bsr      	0x1334	// 1334 <__make_fp>
    10ac:	1407      	addi      	r14, r14, 28
    10ae:	1490      	pop      	r15

000010b0 <__floatunsidf>:
    10b0:	14d2      	push      	r4-r5, r15
    10b2:	1425      	subi      	r14, r14, 20
    10b4:	3840      	cmpnei      	r0, 0
    10b6:	3500      	movi      	r5, 0
    10b8:	6d03      	mov      	r4, r0
    10ba:	b8a1      	st.w      	r5, (r14, 0x4)
    10bc:	0c15      	bf      	0x10e6	// 10e6 <__floatunsidf+0x36>
    10be:	3303      	movi      	r3, 3
    10c0:	b860      	st.w      	r3, (r14, 0x0)
    10c2:	e0000043 	bsr      	0x1148	// 1148 <__clzsi2>
    10c6:	321d      	movi      	r2, 29
    10c8:	6080      	addu      	r2, r0
    10ca:	2802      	subi      	r0, 3
    10cc:	38df      	btsti      	r0, 31
    10ce:	0813      	bt      	0x10f4	// 10f4 <__floatunsidf+0x44>
    10d0:	7100      	lsl      	r4, r0
    10d2:	b884      	st.w      	r4, (r14, 0x10)
    10d4:	b8a3      	st.w      	r5, (r14, 0xc)
    10d6:	333c      	movi      	r3, 60
    10d8:	60ca      	subu      	r3, r2
    10da:	6c3b      	mov      	r0, r14
    10dc:	b862      	st.w      	r3, (r14, 0x8)
    10de:	e0000137 	bsr      	0x134c	// 134c <__pack_d>
    10e2:	1405      	addi      	r14, r14, 20
    10e4:	1492      	pop      	r4-r5, r15
    10e6:	3302      	movi      	r3, 2
    10e8:	6c3b      	mov      	r0, r14
    10ea:	b860      	st.w      	r3, (r14, 0x0)
    10ec:	e0000130 	bsr      	0x134c	// 134c <__pack_d>
    10f0:	1405      	addi      	r14, r14, 20
    10f2:	1492      	pop      	r4-r5, r15
    10f4:	311f      	movi      	r1, 31
    10f6:	4c61      	lsri      	r3, r4, 1
    10f8:	604a      	subu      	r1, r2
    10fa:	70c5      	lsr      	r3, r1
    10fc:	7108      	lsl      	r4, r2
    10fe:	b864      	st.w      	r3, (r14, 0x10)
    1100:	b883      	st.w      	r4, (r14, 0xc)
    1102:	07ea      	br      	0x10d6	// 10d6 <__floatunsidf+0x26>

00001104 <__muldi3>:
    1104:	14c4      	push      	r4-r7
    1106:	1421      	subi      	r14, r14, 4
    1108:	7501      	zexth      	r4, r0
    110a:	48b0      	lsri      	r5, r0, 16
    110c:	75c9      	zexth      	r7, r2
    110e:	6d83      	mov      	r6, r0
    1110:	b820      	st.w      	r1, (r14, 0x0)
    1112:	6c13      	mov      	r0, r4
    1114:	4a30      	lsri      	r1, r2, 16
    1116:	7c1c      	mult      	r0, r7
    1118:	7d04      	mult      	r4, r1
    111a:	7dd4      	mult      	r7, r5
    111c:	611c      	addu      	r4, r7
    111e:	7d44      	mult      	r5, r1
    1120:	4830      	lsri      	r1, r0, 16
    1122:	6104      	addu      	r4, r1
    1124:	65d0      	cmphs      	r4, r7
    1126:	0804      	bt      	0x112e	// 112e <__muldi3+0x2a>
    1128:	3180      	movi      	r1, 128
    112a:	4129      	lsli      	r1, r1, 9
    112c:	6144      	addu      	r5, r1
    112e:	4c30      	lsri      	r1, r4, 16
    1130:	7cd8      	mult      	r3, r6
    1132:	6144      	addu      	r5, r1
    1134:	6c4f      	mov      	r1, r3
    1136:	9860      	ld.w      	r3, (r14, 0x0)
    1138:	7cc8      	mult      	r3, r2
    113a:	4490      	lsli      	r4, r4, 16
    113c:	604c      	addu      	r1, r3
    113e:	7401      	zexth      	r0, r0
    1140:	6010      	addu      	r0, r4
    1142:	6054      	addu      	r1, r5
    1144:	1401      	addi      	r14, r14, 4
    1146:	1484      	pop      	r4-r7

00001148 <__clzsi2>:
    1148:	106d      	lrw      	r3, 0xffff	// 117c <__clzsi2+0x34>
    114a:	640c      	cmphs      	r3, r0
    114c:	0c07      	bf      	0x115a	// 115a <__clzsi2+0x12>
    114e:	33ff      	movi      	r3, 255
    1150:	640c      	cmphs      	r3, r0
    1152:	0c0f      	bf      	0x1170	// 1170 <__clzsi2+0x28>
    1154:	3320      	movi      	r3, 32
    1156:	3200      	movi      	r2, 0
    1158:	0406      	br      	0x1164	// 1164 <__clzsi2+0x1c>
    115a:	106a      	lrw      	r3, 0xffffff	// 1180 <__clzsi2+0x38>
    115c:	640c      	cmphs      	r3, r0
    115e:	080c      	bt      	0x1176	// 1176 <__clzsi2+0x2e>
    1160:	3308      	movi      	r3, 8
    1162:	3218      	movi      	r2, 24
    1164:	7009      	lsr      	r0, r2
    1166:	1048      	lrw      	r2, 0x58f8	// 1184 <__clzsi2+0x3c>
    1168:	6008      	addu      	r0, r2
    116a:	8040      	ld.b      	r2, (r0, 0x0)
    116c:	5b09      	subu      	r0, r3, r2
    116e:	783c      	jmp      	r15
    1170:	3318      	movi      	r3, 24
    1172:	3208      	movi      	r2, 8
    1174:	07f8      	br      	0x1164	// 1164 <__clzsi2+0x1c>
    1176:	3310      	movi      	r3, 16
    1178:	3210      	movi      	r2, 16
    117a:	07f5      	br      	0x1164	// 1164 <__clzsi2+0x1c>
    117c:	0000ffff 	.long	0x0000ffff
    1180:	00ffffff 	.long	0x00ffffff
    1184:	000058f8 	.long	0x000058f8

00001188 <__pack_f>:
    1188:	14c1      	push      	r4
    118a:	9040      	ld.w      	r2, (r0, 0x0)
    118c:	3a01      	cmphsi      	r2, 2
    118e:	9063      	ld.w      	r3, (r0, 0xc)
    1190:	9021      	ld.w      	r1, (r0, 0x4)
    1192:	0c27      	bf      	0x11e0	// 11e0 <__pack_f+0x58>
    1194:	3a44      	cmpnei      	r2, 4
    1196:	0c22      	bf      	0x11da	// 11da <__pack_f+0x52>
    1198:	3a42      	cmpnei      	r2, 2
    119a:	0c1d      	bf      	0x11d4	// 11d4 <__pack_f+0x4c>
    119c:	3b40      	cmpnei      	r3, 0
    119e:	0c1b      	bf      	0x11d4	// 11d4 <__pack_f+0x4c>
    11a0:	9042      	ld.w      	r2, (r0, 0x8)
    11a2:	3000      	movi      	r0, 0
    11a4:	287d      	subi      	r0, 126
    11a6:	6409      	cmplt      	r2, r0
    11a8:	0828      	bt      	0x11f8	// 11f8 <__pack_f+0x70>
    11aa:	307f      	movi      	r0, 127
    11ac:	6481      	cmplt      	r0, r2
    11ae:	0816      	bt      	0x11da	// 11da <__pack_f+0x52>
    11b0:	680c      	and      	r0, r3
    11b2:	3440      	movi      	r4, 64
    11b4:	6502      	cmpne      	r0, r4
    11b6:	0c1a      	bf      	0x11ea	// 11ea <__pack_f+0x62>
    11b8:	233e      	addi      	r3, 63
    11ba:	3bdf      	btsti      	r3, 31
    11bc:	081b      	bt      	0x11f2	// 11f2 <__pack_f+0x6a>
    11be:	227e      	addi      	r2, 127
    11c0:	4302      	lsli      	r0, r3, 2
    11c2:	4809      	lsri      	r0, r0, 9
    11c4:	74c8      	zextb      	r3, r2
    11c6:	4009      	lsli      	r0, r0, 9
    11c8:	4377      	lsli      	r3, r3, 23
    11ca:	4809      	lsri      	r0, r0, 9
    11cc:	413f      	lsli      	r1, r1, 31
    11ce:	6c0c      	or      	r0, r3
    11d0:	6c04      	or      	r0, r1
    11d2:	1481      	pop      	r4
    11d4:	3300      	movi      	r3, 0
    11d6:	3000      	movi      	r0, 0
    11d8:	07f7      	br      	0x11c6	// 11c6 <__pack_f+0x3e>
    11da:	33ff      	movi      	r3, 255
    11dc:	3000      	movi      	r0, 0
    11de:	07f4      	br      	0x11c6	// 11c6 <__pack_f+0x3e>
    11e0:	4303      	lsli      	r0, r3, 3
    11e2:	480a      	lsri      	r0, r0, 10
    11e4:	38b6      	bseti      	r0, 22
    11e6:	33ff      	movi      	r3, 255
    11e8:	07ef      	br      	0x11c6	// 11c6 <__pack_f+0x3e>
    11ea:	3bc7      	btsti      	r3, 7
    11ec:	0fe7      	bf      	0x11ba	// 11ba <__pack_f+0x32>
    11ee:	60c0      	addu      	r3, r0
    11f0:	07e5      	br      	0x11ba	// 11ba <__pack_f+0x32>
    11f2:	4b61      	lsri      	r3, r3, 1
    11f4:	227f      	addi      	r2, 128
    11f6:	07e5      	br      	0x11c0	// 11c0 <__pack_f+0x38>
    11f8:	600a      	subu      	r0, r2
    11fa:	3839      	cmplti      	r0, 26
    11fc:	0fec      	bf      	0x11d4	// 11d4 <__pack_f+0x4c>
    11fe:	3201      	movi      	r2, 1
    1200:	7080      	lsl      	r2, r0
    1202:	2a00      	subi      	r2, 1
    1204:	6d0f      	mov      	r4, r3
    1206:	68c8      	and      	r3, r2
    1208:	3b40      	cmpnei      	r3, 0
    120a:	3200      	movi      	r2, 0
    120c:	7101      	lsr      	r4, r0
    120e:	6089      	addc      	r2, r2
    1210:	6c90      	or      	r2, r4
    1212:	337f      	movi      	r3, 127
    1214:	68c8      	and      	r3, r2
    1216:	3040      	movi      	r0, 64
    1218:	640e      	cmpne      	r3, r0
    121a:	080b      	bt      	0x1230	// 1230 <__pack_f+0xa8>
    121c:	3ac7      	btsti      	r2, 7
    121e:	0c02      	bf      	0x1222	// 1222 <__pack_f+0x9a>
    1220:	608c      	addu      	r2, r3
    1222:	1065      	lrw      	r3, 0x3fffffff	// 1234 <__pack_f+0xac>
    1224:	648c      	cmphs      	r3, r2
    1226:	4202      	lsli      	r0, r2, 2
    1228:	64c3      	mvcv      	r3
    122a:	4809      	lsri      	r0, r0, 9
    122c:	74cc      	zextb      	r3, r3
    122e:	07cc      	br      	0x11c6	// 11c6 <__pack_f+0x3e>
    1230:	223e      	addi      	r2, 63
    1232:	07f8      	br      	0x1222	// 1222 <__pack_f+0x9a>
    1234:	3fffffff 	.long	0x3fffffff

00001238 <__unpack_f>:
    1238:	14c1      	push      	r4
    123a:	8861      	ld.h      	r3, (r0, 0x2)
    123c:	4371      	lsli      	r3, r3, 17
    123e:	9040      	ld.w      	r2, (r0, 0x0)
    1240:	4b78      	lsri      	r3, r3, 24
    1242:	8003      	ld.b      	r0, (r0, 0x3)
    1244:	4249      	lsli      	r2, r2, 9
    1246:	4807      	lsri      	r0, r0, 7
    1248:	3b40      	cmpnei      	r3, 0
    124a:	4a49      	lsri      	r2, r2, 9
    124c:	b101      	st.w      	r0, (r1, 0x4)
    124e:	0811      	bt      	0x1270	// 1270 <__unpack_f+0x38>
    1250:	3a40      	cmpnei      	r2, 0
    1252:	0c1a      	bf      	0x1286	// 1286 <__unpack_f+0x4e>
    1254:	3303      	movi      	r3, 3
    1256:	b160      	st.w      	r3, (r1, 0x0)
    1258:	3300      	movi      	r3, 0
    125a:	4247      	lsli      	r2, r2, 7
    125c:	2b7e      	subi      	r3, 127
    125e:	1096      	lrw      	r4, 0x3fffffff	// 12b4 <__unpack_f+0x7c>
    1260:	4241      	lsli      	r2, r2, 1
    1262:	6490      	cmphs      	r4, r2
    1264:	6c0f      	mov      	r0, r3
    1266:	2b00      	subi      	r3, 1
    1268:	0bfc      	bt      	0x1260	// 1260 <__unpack_f+0x28>
    126a:	b102      	st.w      	r0, (r1, 0x8)
    126c:	b143      	st.w      	r2, (r1, 0xc)
    126e:	1481      	pop      	r4
    1270:	30ff      	movi      	r0, 255
    1272:	640e      	cmpne      	r3, r0
    1274:	0c0c      	bf      	0x128c	// 128c <__unpack_f+0x54>
    1276:	2b7e      	subi      	r3, 127
    1278:	4247      	lsli      	r2, r2, 7
    127a:	b162      	st.w      	r3, (r1, 0x8)
    127c:	3abe      	bseti      	r2, 30
    127e:	3303      	movi      	r3, 3
    1280:	b160      	st.w      	r3, (r1, 0x0)
    1282:	b143      	st.w      	r2, (r1, 0xc)
    1284:	1481      	pop      	r4
    1286:	3302      	movi      	r3, 2
    1288:	b160      	st.w      	r3, (r1, 0x0)
    128a:	1481      	pop      	r4
    128c:	3a40      	cmpnei      	r2, 0
    128e:	0c0d      	bf      	0x12a8	// 12a8 <__unpack_f+0x70>
    1290:	3380      	movi      	r3, 128
    1292:	436f      	lsli      	r3, r3, 15
    1294:	68c8      	and      	r3, r2
    1296:	3b40      	cmpnei      	r3, 0
    1298:	0c0b      	bf      	0x12ae	// 12ae <__unpack_f+0x76>
    129a:	3301      	movi      	r3, 1
    129c:	b160      	st.w      	r3, (r1, 0x0)
    129e:	1067      	lrw      	r3, 0x2000007f	// 12b8 <__unpack_f+0x80>
    12a0:	4247      	lsli      	r2, r2, 7
    12a2:	688d      	andn      	r2, r3
    12a4:	b143      	st.w      	r2, (r1, 0xc)
    12a6:	1481      	pop      	r4
    12a8:	3304      	movi      	r3, 4
    12aa:	b160      	st.w      	r3, (r1, 0x0)
    12ac:	1481      	pop      	r4
    12ae:	b160      	st.w      	r3, (r1, 0x0)
    12b0:	07f7      	br      	0x129e	// 129e <__unpack_f+0x66>
    12b2:	0000      	bkpt
    12b4:	3fffffff 	.long	0x3fffffff
    12b8:	2000007f 	.long	0x2000007f

000012bc <__fpcmp_parts_f>:
    12bc:	14c1      	push      	r4
    12be:	9060      	ld.w      	r3, (r0, 0x0)
    12c0:	3b01      	cmphsi      	r3, 2
    12c2:	0c12      	bf      	0x12e6	// 12e6 <__fpcmp_parts_f+0x2a>
    12c4:	9140      	ld.w      	r2, (r1, 0x0)
    12c6:	3a01      	cmphsi      	r2, 2
    12c8:	0c0f      	bf      	0x12e6	// 12e6 <__fpcmp_parts_f+0x2a>
    12ca:	3b44      	cmpnei      	r3, 4
    12cc:	0c17      	bf      	0x12fa	// 12fa <__fpcmp_parts_f+0x3e>
    12ce:	3a44      	cmpnei      	r2, 4
    12d0:	0c0f      	bf      	0x12ee	// 12ee <__fpcmp_parts_f+0x32>
    12d2:	3b42      	cmpnei      	r3, 2
    12d4:	0c0b      	bf      	0x12ea	// 12ea <__fpcmp_parts_f+0x2e>
    12d6:	3a42      	cmpnei      	r2, 2
    12d8:	0c13      	bf      	0x12fe	// 12fe <__fpcmp_parts_f+0x42>
    12da:	9061      	ld.w      	r3, (r0, 0x4)
    12dc:	9141      	ld.w      	r2, (r1, 0x4)
    12de:	648e      	cmpne      	r3, r2
    12e0:	0c14      	bf      	0x1308	// 1308 <__fpcmp_parts_f+0x4c>
    12e2:	3b40      	cmpnei      	r3, 0
    12e4:	0808      	bt      	0x12f4	// 12f4 <__fpcmp_parts_f+0x38>
    12e6:	3001      	movi      	r0, 1
    12e8:	1481      	pop      	r4
    12ea:	3a42      	cmpnei      	r2, 2
    12ec:	0c1e      	bf      	0x1328	// 1328 <__fpcmp_parts_f+0x6c>
    12ee:	9161      	ld.w      	r3, (r1, 0x4)
    12f0:	3b40      	cmpnei      	r3, 0
    12f2:	0bfa      	bt      	0x12e6	// 12e6 <__fpcmp_parts_f+0x2a>
    12f4:	3000      	movi      	r0, 0
    12f6:	2800      	subi      	r0, 1
    12f8:	1481      	pop      	r4
    12fa:	3a44      	cmpnei      	r2, 4
    12fc:	0c18      	bf      	0x132c	// 132c <__fpcmp_parts_f+0x70>
    12fe:	9061      	ld.w      	r3, (r0, 0x4)
    1300:	3b40      	cmpnei      	r3, 0
    1302:	0bf9      	bt      	0x12f4	// 12f4 <__fpcmp_parts_f+0x38>
    1304:	3001      	movi      	r0, 1
    1306:	07f1      	br      	0x12e8	// 12e8 <__fpcmp_parts_f+0x2c>
    1308:	9082      	ld.w      	r4, (r0, 0x8)
    130a:	9142      	ld.w      	r2, (r1, 0x8)
    130c:	6509      	cmplt      	r2, r4
    130e:	0bea      	bt      	0x12e2	// 12e2 <__fpcmp_parts_f+0x26>
    1310:	6491      	cmplt      	r4, r2
    1312:	0807      	bt      	0x1320	// 1320 <__fpcmp_parts_f+0x64>
    1314:	9003      	ld.w      	r0, (r0, 0xc)
    1316:	9143      	ld.w      	r2, (r1, 0xc)
    1318:	6408      	cmphs      	r2, r0
    131a:	0fe4      	bf      	0x12e2	// 12e2 <__fpcmp_parts_f+0x26>
    131c:	6480      	cmphs      	r0, r2
    131e:	0805      	bt      	0x1328	// 1328 <__fpcmp_parts_f+0x6c>
    1320:	3b40      	cmpnei      	r3, 0
    1322:	0fe9      	bf      	0x12f4	// 12f4 <__fpcmp_parts_f+0x38>
    1324:	3001      	movi      	r0, 1
    1326:	07e1      	br      	0x12e8	// 12e8 <__fpcmp_parts_f+0x2c>
    1328:	3000      	movi      	r0, 0
    132a:	1481      	pop      	r4
    132c:	9161      	ld.w      	r3, (r1, 0x4)
    132e:	9041      	ld.w      	r2, (r0, 0x4)
    1330:	5b09      	subu      	r0, r3, r2
    1332:	1481      	pop      	r4

00001334 <__make_fp>:
    1334:	14d0      	push      	r15
    1336:	1424      	subi      	r14, r14, 16
    1338:	b800      	st.w      	r0, (r14, 0x0)
    133a:	6c3b      	mov      	r0, r14
    133c:	b821      	st.w      	r1, (r14, 0x4)
    133e:	b842      	st.w      	r2, (r14, 0x8)
    1340:	b863      	st.w      	r3, (r14, 0xc)
    1342:	e3ffff23 	bsr      	0x1188	// 1188 <__pack_f>
    1346:	1404      	addi      	r14, r14, 16
    1348:	1490      	pop      	r15
	...

0000134c <__pack_d>:
    134c:	14c4      	push      	r4-r7
    134e:	1422      	subi      	r14, r14, 8
    1350:	9060      	ld.w      	r3, (r0, 0x0)
    1352:	3b01      	cmphsi      	r3, 2
    1354:	90c3      	ld.w      	r6, (r0, 0xc)
    1356:	90e4      	ld.w      	r7, (r0, 0x10)
    1358:	9021      	ld.w      	r1, (r0, 0x4)
    135a:	0c46      	bf      	0x13e6	// 13e6 <__pack_d+0x9a>
    135c:	3b44      	cmpnei      	r3, 4
    135e:	0c40      	bf      	0x13de	// 13de <__pack_d+0x92>
    1360:	3b42      	cmpnei      	r3, 2
    1362:	0c27      	bf      	0x13b0	// 13b0 <__pack_d+0x64>
    1364:	6cdb      	mov      	r3, r6
    1366:	6cdc      	or      	r3, r7
    1368:	3b40      	cmpnei      	r3, 0
    136a:	0c23      	bf      	0x13b0	// 13b0 <__pack_d+0x64>
    136c:	9062      	ld.w      	r3, (r0, 0x8)
    136e:	125a      	lrw      	r2, 0xfffffc02	// 14d4 <__pack_d+0x188>
    1370:	648d      	cmplt      	r3, r2
    1372:	0855      	bt      	0x141c	// 141c <__pack_d+0xd0>
    1374:	1259      	lrw      	r2, 0x3ff	// 14d8 <__pack_d+0x18c>
    1376:	64c9      	cmplt      	r2, r3
    1378:	0833      	bt      	0x13de	// 13de <__pack_d+0x92>
    137a:	34ff      	movi      	r4, 255
    137c:	3500      	movi      	r5, 0
    137e:	6918      	and      	r4, r6
    1380:	695c      	and      	r5, r7
    1382:	3280      	movi      	r2, 128
    1384:	6492      	cmpne      	r4, r2
    1386:	0c3f      	bf      	0x1404	// 1404 <__pack_d+0xb8>
    1388:	347f      	movi      	r4, 127
    138a:	3500      	movi      	r5, 0
    138c:	6599      	cmplt      	r6, r6
    138e:	6191      	addc      	r6, r4
    1390:	61d5      	addc      	r7, r5
    1392:	1253      	lrw      	r2, 0x1fffffff	// 14dc <__pack_d+0x190>
    1394:	65c8      	cmphs      	r2, r7
    1396:	0c1a      	bf      	0x13ca	// 13ca <__pack_d+0x7e>
    1398:	1290      	lrw      	r4, 0x3ff	// 14d8 <__pack_d+0x18c>
    139a:	610c      	addu      	r4, r3
    139c:	4718      	lsli      	r0, r7, 24
    139e:	4f68      	lsri      	r3, r7, 8
    13a0:	4e48      	lsri      	r2, r6, 8
    13a2:	6c80      	or      	r2, r0
    13a4:	430c      	lsli      	r0, r3, 12
    13a6:	486c      	lsri      	r3, r0, 12
    13a8:	120e      	lrw      	r0, 0x7ff	// 14e0 <__pack_d+0x194>
    13aa:	6d4b      	mov      	r5, r2
    13ac:	6900      	and      	r4, r0
    13ae:	0404      	br      	0x13b6	// 13b6 <__pack_d+0x6a>
    13b0:	3400      	movi      	r4, 0
    13b2:	3200      	movi      	r2, 0
    13b4:	3300      	movi      	r3, 0
    13b6:	430c      	lsli      	r0, r3, 12
    13b8:	480c      	lsri      	r0, r0, 12
    13ba:	4474      	lsli      	r3, r4, 20
    13bc:	419f      	lsli      	r4, r1, 31
    13be:	6c43      	mov      	r1, r0
    13c0:	6c4c      	or      	r1, r3
    13c2:	6c50      	or      	r1, r4
    13c4:	6c0b      	mov      	r0, r2
    13c6:	1402      	addi      	r14, r14, 8
    13c8:	1484      	pop      	r4-r7
    13ca:	479f      	lsli      	r4, r7, 31
    13cc:	4e01      	lsri      	r0, r6, 1
    13ce:	6d00      	or      	r4, r0
    13d0:	6d93      	mov      	r6, r4
    13d2:	3480      	movi      	r4, 128
    13d4:	4f41      	lsri      	r2, r7, 1
    13d6:	4483      	lsli      	r4, r4, 3
    13d8:	6dcb      	mov      	r7, r2
    13da:	610c      	addu      	r4, r3
    13dc:	07e0      	br      	0x139c	// 139c <__pack_d+0x50>
    13de:	1281      	lrw      	r4, 0x7ff	// 14e0 <__pack_d+0x194>
    13e0:	3200      	movi      	r2, 0
    13e2:	3300      	movi      	r3, 0
    13e4:	07e9      	br      	0x13b6	// 13b6 <__pack_d+0x6a>
    13e6:	4e08      	lsri      	r0, r6, 8
    13e8:	4798      	lsli      	r4, r7, 24
    13ea:	6d00      	or      	r4, r0
    13ec:	3580      	movi      	r5, 128
    13ee:	4705      	lsli      	r0, r7, 5
    13f0:	6c93      	mov      	r2, r4
    13f2:	486d      	lsri      	r3, r0, 13
    13f4:	3400      	movi      	r4, 0
    13f6:	45ac      	lsli      	r5, r5, 12
    13f8:	6c90      	or      	r2, r4
    13fa:	6cd4      	or      	r3, r5
    13fc:	430c      	lsli      	r0, r3, 12
    13fe:	486c      	lsri      	r3, r0, 12
    1400:	1198      	lrw      	r4, 0x7ff	// 14e0 <__pack_d+0x194>
    1402:	07da      	br      	0x13b6	// 13b6 <__pack_d+0x6a>
    1404:	3d40      	cmpnei      	r5, 0
    1406:	0bc1      	bt      	0x1388	// 1388 <__pack_d+0x3c>
    1408:	4241      	lsli      	r2, r2, 1
    140a:	6898      	and      	r2, r6
    140c:	3a40      	cmpnei      	r2, 0
    140e:	0fc2      	bf      	0x1392	// 1392 <__pack_d+0x46>
    1410:	3480      	movi      	r4, 128
    1412:	3500      	movi      	r5, 0
    1414:	6599      	cmplt      	r6, r6
    1416:	6191      	addc      	r6, r4
    1418:	61d5      	addc      	r7, r5
    141a:	07bc      	br      	0x1392	// 1392 <__pack_d+0x46>
    141c:	5a6d      	subu      	r3, r2, r3
    141e:	3238      	movi      	r2, 56
    1420:	64c9      	cmplt      	r2, r3
    1422:	0bc7      	bt      	0x13b0	// 13b0 <__pack_d+0x64>
    1424:	3200      	movi      	r2, 0
    1426:	2a1f      	subi      	r2, 32
    1428:	608c      	addu      	r2, r3
    142a:	3adf      	btsti      	r2, 31
    142c:	0848      	bt      	0x14bc	// 14bc <__pack_d+0x170>
    142e:	6c1f      	mov      	r0, r7
    1430:	7009      	lsr      	r0, r2
    1432:	b800      	st.w      	r0, (r14, 0x0)
    1434:	3000      	movi      	r0, 0
    1436:	b801      	st.w      	r0, (r14, 0x4)
    1438:	3adf      	btsti      	r2, 31
    143a:	083c      	bt      	0x14b2	// 14b2 <__pack_d+0x166>
    143c:	3301      	movi      	r3, 1
    143e:	70c8      	lsl      	r3, r2
    1440:	6d4f      	mov      	r5, r3
    1442:	3300      	movi      	r3, 0
    1444:	6d0f      	mov      	r4, r3
    1446:	3200      	movi      	r2, 0
    1448:	3300      	movi      	r3, 0
    144a:	2a00      	subi      	r2, 1
    144c:	2b00      	subi      	r3, 1
    144e:	6511      	cmplt      	r4, r4
    1450:	6109      	addc      	r4, r2
    1452:	614d      	addc      	r5, r3
    1454:	6990      	and      	r6, r4
    1456:	69d4      	and      	r7, r5
    1458:	6d9c      	or      	r6, r7
    145a:	3e40      	cmpnei      	r6, 0
    145c:	3000      	movi      	r0, 0
    145e:	6001      	addc      	r0, r0
    1460:	6c83      	mov      	r2, r0
    1462:	3300      	movi      	r3, 0
    1464:	9880      	ld.w      	r4, (r14, 0x0)
    1466:	98a1      	ld.w      	r5, (r14, 0x4)
    1468:	6d08      	or      	r4, r2
    146a:	6d4c      	or      	r5, r3
    146c:	32ff      	movi      	r2, 255
    146e:	3300      	movi      	r3, 0
    1470:	6890      	and      	r2, r4
    1472:	68d4      	and      	r3, r5
    1474:	3080      	movi      	r0, 128
    1476:	640a      	cmpne      	r2, r0
    1478:	081b      	bt      	0x14ae	// 14ae <__pack_d+0x162>
    147a:	3b40      	cmpnei      	r3, 0
    147c:	0819      	bt      	0x14ae	// 14ae <__pack_d+0x162>
    147e:	3380      	movi      	r3, 128
    1480:	4361      	lsli      	r3, r3, 1
    1482:	68d0      	and      	r3, r4
    1484:	3b40      	cmpnei      	r3, 0
    1486:	0c06      	bf      	0x1492	// 1492 <__pack_d+0x146>
    1488:	3280      	movi      	r2, 128
    148a:	3300      	movi      	r3, 0
    148c:	6511      	cmplt      	r4, r4
    148e:	6109      	addc      	r4, r2
    1490:	614d      	addc      	r5, r3
    1492:	4518      	lsli      	r0, r5, 24
    1494:	4c48      	lsri      	r2, r4, 8
    1496:	4d68      	lsri      	r3, r5, 8
    1498:	1093      	lrw      	r4, 0xfffffff	// 14e4 <__pack_d+0x198>
    149a:	6c80      	or      	r2, r0
    149c:	6550      	cmphs      	r4, r5
    149e:	430c      	lsli      	r0, r3, 12
    14a0:	486c      	lsri      	r3, r0, 12
    14a2:	3001      	movi      	r0, 1
    14a4:	0c02      	bf      	0x14a8	// 14a8 <__pack_d+0x15c>
    14a6:	3000      	movi      	r0, 0
    14a8:	108e      	lrw      	r4, 0x7ff	// 14e0 <__pack_d+0x194>
    14aa:	6900      	and      	r4, r0
    14ac:	0785      	br      	0x13b6	// 13b6 <__pack_d+0x6a>
    14ae:	327f      	movi      	r2, 127
    14b0:	07ed      	br      	0x148a	// 148a <__pack_d+0x13e>
    14b2:	3201      	movi      	r2, 1
    14b4:	708c      	lsl      	r2, r3
    14b6:	3500      	movi      	r5, 0
    14b8:	6d0b      	mov      	r4, r2
    14ba:	07c6      	br      	0x1446	// 1446 <__pack_d+0xfa>
    14bc:	341f      	movi      	r4, 31
    14be:	610e      	subu      	r4, r3
    14c0:	4701      	lsli      	r0, r7, 1
    14c2:	7010      	lsl      	r0, r4
    14c4:	6d1b      	mov      	r4, r6
    14c6:	710d      	lsr      	r4, r3
    14c8:	6d00      	or      	r4, r0
    14ca:	6c1f      	mov      	r0, r7
    14cc:	700d      	lsr      	r0, r3
    14ce:	b880      	st.w      	r4, (r14, 0x0)
    14d0:	b801      	st.w      	r0, (r14, 0x4)
    14d2:	07b3      	br      	0x1438	// 1438 <__pack_d+0xec>
    14d4:	fffffc02 	.long	0xfffffc02
    14d8:	000003ff 	.long	0x000003ff
    14dc:	1fffffff 	.long	0x1fffffff
    14e0:	000007ff 	.long	0x000007ff
    14e4:	0fffffff 	.long	0x0fffffff

000014e8 <__unpack_d>:
    14e8:	1423      	subi      	r14, r14, 12
    14ea:	b880      	st.w      	r4, (r14, 0x0)
    14ec:	b8c1      	st.w      	r6, (r14, 0x4)
    14ee:	b8e2      	st.w      	r7, (r14, 0x8)
    14f0:	8843      	ld.h      	r2, (r0, 0x6)
    14f2:	4251      	lsli      	r2, r2, 17
    14f4:	9061      	ld.w      	r3, (r0, 0x4)
    14f6:	9080      	ld.w      	r4, (r0, 0x0)
    14f8:	4a55      	lsri      	r2, r2, 21
    14fa:	8007      	ld.b      	r0, (r0, 0x7)
    14fc:	436c      	lsli      	r3, r3, 12
    14fe:	4807      	lsri      	r0, r0, 7
    1500:	3a40      	cmpnei      	r2, 0
    1502:	4b6c      	lsri      	r3, r3, 12
    1504:	b101      	st.w      	r0, (r1, 0x4)
    1506:	0819      	bt      	0x1538	// 1538 <__unpack_d+0x50>
    1508:	6c93      	mov      	r2, r4
    150a:	6c8c      	or      	r2, r3
    150c:	3a40      	cmpnei      	r2, 0
    150e:	0c2d      	bf      	0x1568	// 1568 <__unpack_d+0x80>
    1510:	4c58      	lsri      	r2, r4, 24
    1512:	4368      	lsli      	r3, r3, 8
    1514:	6cc8      	or      	r3, r2
    1516:	3203      	movi      	r2, 3
    1518:	4408      	lsli      	r0, r4, 8
    151a:	b140      	st.w      	r2, (r1, 0x0)
    151c:	1181      	lrw      	r4, 0xfffffc01	// 15a0 <__unpack_d+0xb8>
    151e:	11c2      	lrw      	r6, 0xfffffff	// 15a4 <__unpack_d+0xbc>
    1520:	485f      	lsri      	r2, r0, 31
    1522:	4361      	lsli      	r3, r3, 1
    1524:	6cc8      	or      	r3, r2
    1526:	64d8      	cmphs      	r6, r3
    1528:	6c93      	mov      	r2, r4
    152a:	4001      	lsli      	r0, r0, 1
    152c:	2c00      	subi      	r4, 1
    152e:	0bf9      	bt      	0x1520	// 1520 <__unpack_d+0x38>
    1530:	b142      	st.w      	r2, (r1, 0x8)
    1532:	b103      	st.w      	r0, (r1, 0xc)
    1534:	b164      	st.w      	r3, (r1, 0x10)
    1536:	0414      	br      	0x155e	// 155e <__unpack_d+0x76>
    1538:	101c      	lrw      	r0, 0x7ff	// 15a8 <__unpack_d+0xc0>
    153a:	640a      	cmpne      	r2, r0
    153c:	0c19      	bf      	0x156e	// 156e <__unpack_d+0x86>
    153e:	1019      	lrw      	r0, 0xfffffc01	// 15a0 <__unpack_d+0xb8>
    1540:	6080      	addu      	r2, r0
    1542:	b142      	st.w      	r2, (r1, 0x8)
    1544:	3203      	movi      	r2, 3
    1546:	43e8      	lsli      	r7, r3, 8
    1548:	b140      	st.w      	r2, (r1, 0x0)
    154a:	3380      	movi      	r3, 128
    154c:	4c58      	lsri      	r2, r4, 24
    154e:	6dc8      	or      	r7, r2
    1550:	44c8      	lsli      	r6, r4, 8
    1552:	3200      	movi      	r2, 0
    1554:	4375      	lsli      	r3, r3, 21
    1556:	6d88      	or      	r6, r2
    1558:	6dcc      	or      	r7, r3
    155a:	b1c3      	st.w      	r6, (r1, 0xc)
    155c:	b1e4      	st.w      	r7, (r1, 0x10)
    155e:	98e2      	ld.w      	r7, (r14, 0x8)
    1560:	98c1      	ld.w      	r6, (r14, 0x4)
    1562:	9880      	ld.w      	r4, (r14, 0x0)
    1564:	1403      	addi      	r14, r14, 12
    1566:	783c      	jmp      	r15
    1568:	3302      	movi      	r3, 2
    156a:	b160      	st.w      	r3, (r1, 0x0)
    156c:	07f9      	br      	0x155e	// 155e <__unpack_d+0x76>
    156e:	6c93      	mov      	r2, r4
    1570:	6c8c      	or      	r2, r3
    1572:	3a40      	cmpnei      	r2, 0
    1574:	0c10      	bf      	0x1594	// 1594 <__unpack_d+0xac>
    1576:	3280      	movi      	r2, 128
    1578:	424c      	lsli      	r2, r2, 12
    157a:	688c      	and      	r2, r3
    157c:	3a40      	cmpnei      	r2, 0
    157e:	0c0e      	bf      	0x159a	// 159a <__unpack_d+0xb2>
    1580:	3201      	movi      	r2, 1
    1582:	b140      	st.w      	r2, (r1, 0x0)
    1584:	4c58      	lsri      	r2, r4, 24
    1586:	4368      	lsli      	r3, r3, 8
    1588:	6cc8      	or      	r3, r2
    158a:	4408      	lsli      	r0, r4, 8
    158c:	3b9b      	bclri      	r3, 27
    158e:	b103      	st.w      	r0, (r1, 0xc)
    1590:	b164      	st.w      	r3, (r1, 0x10)
    1592:	07e6      	br      	0x155e	// 155e <__unpack_d+0x76>
    1594:	3304      	movi      	r3, 4
    1596:	b160      	st.w      	r3, (r1, 0x0)
    1598:	07e3      	br      	0x155e	// 155e <__unpack_d+0x76>
    159a:	b140      	st.w      	r2, (r1, 0x0)
    159c:	07f4      	br      	0x1584	// 1584 <__unpack_d+0x9c>
    159e:	0000      	bkpt
    15a0:	fffffc01 	.long	0xfffffc01
    15a4:	0fffffff 	.long	0x0fffffff
    15a8:	000007ff 	.long	0x000007ff

000015ac <__fpcmp_parts_d>:
    15ac:	14c1      	push      	r4
    15ae:	9060      	ld.w      	r3, (r0, 0x0)
    15b0:	3b01      	cmphsi      	r3, 2
    15b2:	0c12      	bf      	0x15d6	// 15d6 <__fpcmp_parts_d+0x2a>
    15b4:	9140      	ld.w      	r2, (r1, 0x0)
    15b6:	3a01      	cmphsi      	r2, 2
    15b8:	0c0f      	bf      	0x15d6	// 15d6 <__fpcmp_parts_d+0x2a>
    15ba:	3b44      	cmpnei      	r3, 4
    15bc:	0c17      	bf      	0x15ea	// 15ea <__fpcmp_parts_d+0x3e>
    15be:	3a44      	cmpnei      	r2, 4
    15c0:	0c0f      	bf      	0x15de	// 15de <__fpcmp_parts_d+0x32>
    15c2:	3b42      	cmpnei      	r3, 2
    15c4:	0c0b      	bf      	0x15da	// 15da <__fpcmp_parts_d+0x2e>
    15c6:	3a42      	cmpnei      	r2, 2
    15c8:	0c13      	bf      	0x15ee	// 15ee <__fpcmp_parts_d+0x42>
    15ca:	9061      	ld.w      	r3, (r0, 0x4)
    15cc:	9141      	ld.w      	r2, (r1, 0x4)
    15ce:	648e      	cmpne      	r3, r2
    15d0:	0c14      	bf      	0x15f8	// 15f8 <__fpcmp_parts_d+0x4c>
    15d2:	3b40      	cmpnei      	r3, 0
    15d4:	0808      	bt      	0x15e4	// 15e4 <__fpcmp_parts_d+0x38>
    15d6:	3001      	movi      	r0, 1
    15d8:	1481      	pop      	r4
    15da:	3a42      	cmpnei      	r2, 2
    15dc:	0c28      	bf      	0x162c	// 162c <__fpcmp_parts_d+0x80>
    15de:	9161      	ld.w      	r3, (r1, 0x4)
    15e0:	3b40      	cmpnei      	r3, 0
    15e2:	0bfa      	bt      	0x15d6	// 15d6 <__fpcmp_parts_d+0x2a>
    15e4:	3000      	movi      	r0, 0
    15e6:	2800      	subi      	r0, 1
    15e8:	1481      	pop      	r4
    15ea:	3a44      	cmpnei      	r2, 4
    15ec:	0c22      	bf      	0x1630	// 1630 <__fpcmp_parts_d+0x84>
    15ee:	9061      	ld.w      	r3, (r0, 0x4)
    15f0:	3b40      	cmpnei      	r3, 0
    15f2:	0bf9      	bt      	0x15e4	// 15e4 <__fpcmp_parts_d+0x38>
    15f4:	3001      	movi      	r0, 1
    15f6:	07f1      	br      	0x15d8	// 15d8 <__fpcmp_parts_d+0x2c>
    15f8:	9082      	ld.w      	r4, (r0, 0x8)
    15fa:	9142      	ld.w      	r2, (r1, 0x8)
    15fc:	6509      	cmplt      	r2, r4
    15fe:	0bea      	bt      	0x15d2	// 15d2 <__fpcmp_parts_d+0x26>
    1600:	6491      	cmplt      	r4, r2
    1602:	080d      	bt      	0x161c	// 161c <__fpcmp_parts_d+0x70>
    1604:	9044      	ld.w      	r2, (r0, 0x10)
    1606:	9083      	ld.w      	r4, (r0, 0xc)
    1608:	9103      	ld.w      	r0, (r1, 0xc)
    160a:	9124      	ld.w      	r1, (r1, 0x10)
    160c:	6484      	cmphs      	r1, r2
    160e:	0fe2      	bf      	0x15d2	// 15d2 <__fpcmp_parts_d+0x26>
    1610:	644a      	cmpne      	r2, r1
    1612:	0803      	bt      	0x1618	// 1618 <__fpcmp_parts_d+0x6c>
    1614:	6500      	cmphs      	r0, r4
    1616:	0fde      	bf      	0x15d2	// 15d2 <__fpcmp_parts_d+0x26>
    1618:	6448      	cmphs      	r2, r1
    161a:	0805      	bt      	0x1624	// 1624 <__fpcmp_parts_d+0x78>
    161c:	3b40      	cmpnei      	r3, 0
    161e:	0fe3      	bf      	0x15e4	// 15e4 <__fpcmp_parts_d+0x38>
    1620:	3001      	movi      	r0, 1
    1622:	07db      	br      	0x15d8	// 15d8 <__fpcmp_parts_d+0x2c>
    1624:	6486      	cmpne      	r1, r2
    1626:	0803      	bt      	0x162c	// 162c <__fpcmp_parts_d+0x80>
    1628:	6410      	cmphs      	r4, r0
    162a:	0ff9      	bf      	0x161c	// 161c <__fpcmp_parts_d+0x70>
    162c:	3000      	movi      	r0, 0
    162e:	1481      	pop      	r4
    1630:	9161      	ld.w      	r3, (r1, 0x4)
    1632:	9041      	ld.w      	r2, (r0, 0x4)
    1634:	5b09      	subu      	r0, r3, r2
    1636:	1481      	pop      	r4

00001638 <__memcpy_fast>:
    1638:	14c3      	push      	r4-r6
    163a:	6d83      	mov      	r6, r0
    163c:	6d07      	mov      	r4, r1
    163e:	6d18      	or      	r4, r6
    1640:	3303      	movi      	r3, 3
    1642:	690c      	and      	r4, r3
    1644:	3c40      	cmpnei      	r4, 0
    1646:	0c0b      	bf      	0x165c	// 165c <__memcpy_fast+0x24>
    1648:	3a40      	cmpnei      	r2, 0
    164a:	0c08      	bf      	0x165a	// 165a <__memcpy_fast+0x22>
    164c:	8160      	ld.b      	r3, (r1, 0x0)
    164e:	2100      	addi      	r1, 1
    1650:	2a00      	subi      	r2, 1
    1652:	a660      	st.b      	r3, (r6, 0x0)
    1654:	2600      	addi      	r6, 1
    1656:	3a40      	cmpnei      	r2, 0
    1658:	0bfa      	bt      	0x164c	// 164c <__memcpy_fast+0x14>
    165a:	1483      	pop      	r4-r6
    165c:	3a2f      	cmplti      	r2, 16
    165e:	080e      	bt      	0x167a	// 167a <__memcpy_fast+0x42>
    1660:	91a0      	ld.w      	r5, (r1, 0x0)
    1662:	9161      	ld.w      	r3, (r1, 0x4)
    1664:	9182      	ld.w      	r4, (r1, 0x8)
    1666:	b6a0      	st.w      	r5, (r6, 0x0)
    1668:	91a3      	ld.w      	r5, (r1, 0xc)
    166a:	b661      	st.w      	r3, (r6, 0x4)
    166c:	b682      	st.w      	r4, (r6, 0x8)
    166e:	b6a3      	st.w      	r5, (r6, 0xc)
    1670:	2a0f      	subi      	r2, 16
    1672:	210f      	addi      	r1, 16
    1674:	260f      	addi      	r6, 16
    1676:	3a2f      	cmplti      	r2, 16
    1678:	0ff4      	bf      	0x1660	// 1660 <__memcpy_fast+0x28>
    167a:	3a23      	cmplti      	r2, 4
    167c:	0808      	bt      	0x168c	// 168c <__memcpy_fast+0x54>
    167e:	9160      	ld.w      	r3, (r1, 0x0)
    1680:	2a03      	subi      	r2, 4
    1682:	2103      	addi      	r1, 4
    1684:	b660      	st.w      	r3, (r6, 0x0)
    1686:	2603      	addi      	r6, 4
    1688:	3a23      	cmplti      	r2, 4
    168a:	0ffa      	bf      	0x167e	// 167e <__memcpy_fast+0x46>
    168c:	3a40      	cmpnei      	r2, 0
    168e:	0fe6      	bf      	0x165a	// 165a <__memcpy_fast+0x22>
    1690:	8160      	ld.b      	r3, (r1, 0x0)
    1692:	2100      	addi      	r1, 1
    1694:	2a00      	subi      	r2, 1
    1696:	a660      	st.b      	r3, (r6, 0x0)
    1698:	2600      	addi      	r6, 1
    169a:	07f9      	br      	0x168c	// 168c <__memcpy_fast+0x54>

0000169c <__memset_fast>:
    169c:	14c3      	push      	r4-r6
    169e:	7444      	zextb      	r1, r1
    16a0:	3a40      	cmpnei      	r2, 0
    16a2:	0c1f      	bf      	0x16e0	// 16e0 <__memset_fast+0x44>
    16a4:	6d43      	mov      	r5, r0
    16a6:	6d03      	mov      	r4, r0
    16a8:	3603      	movi      	r6, 3
    16aa:	6918      	and      	r4, r6
    16ac:	3c40      	cmpnei      	r4, 0
    16ae:	0c1a      	bf      	0x16e2	// 16e2 <__memset_fast+0x46>
    16b0:	a520      	st.b      	r1, (r5, 0x0)
    16b2:	2a00      	subi      	r2, 1
    16b4:	3a40      	cmpnei      	r2, 0
    16b6:	0c15      	bf      	0x16e0	// 16e0 <__memset_fast+0x44>
    16b8:	2500      	addi      	r5, 1
    16ba:	6d17      	mov      	r4, r5
    16bc:	3603      	movi      	r6, 3
    16be:	6918      	and      	r4, r6
    16c0:	3c40      	cmpnei      	r4, 0
    16c2:	0c10      	bf      	0x16e2	// 16e2 <__memset_fast+0x46>
    16c4:	a520      	st.b      	r1, (r5, 0x0)
    16c6:	2a00      	subi      	r2, 1
    16c8:	3a40      	cmpnei      	r2, 0
    16ca:	0c0b      	bf      	0x16e0	// 16e0 <__memset_fast+0x44>
    16cc:	2500      	addi      	r5, 1
    16ce:	6d17      	mov      	r4, r5
    16d0:	3603      	movi      	r6, 3
    16d2:	6918      	and      	r4, r6
    16d4:	3c40      	cmpnei      	r4, 0
    16d6:	0c06      	bf      	0x16e2	// 16e2 <__memset_fast+0x46>
    16d8:	a520      	st.b      	r1, (r5, 0x0)
    16da:	2a00      	subi      	r2, 1
    16dc:	2500      	addi      	r5, 1
    16de:	0402      	br      	0x16e2	// 16e2 <__memset_fast+0x46>
    16e0:	1483      	pop      	r4-r6
    16e2:	4168      	lsli      	r3, r1, 8
    16e4:	6c4c      	or      	r1, r3
    16e6:	4170      	lsli      	r3, r1, 16
    16e8:	6c4c      	or      	r1, r3
    16ea:	3a2f      	cmplti      	r2, 16
    16ec:	0809      	bt      	0x16fe	// 16fe <__memset_fast+0x62>
    16ee:	b520      	st.w      	r1, (r5, 0x0)
    16f0:	b521      	st.w      	r1, (r5, 0x4)
    16f2:	b522      	st.w      	r1, (r5, 0x8)
    16f4:	b523      	st.w      	r1, (r5, 0xc)
    16f6:	2a0f      	subi      	r2, 16
    16f8:	250f      	addi      	r5, 16
    16fa:	3a2f      	cmplti      	r2, 16
    16fc:	0ff9      	bf      	0x16ee	// 16ee <__memset_fast+0x52>
    16fe:	3a23      	cmplti      	r2, 4
    1700:	0806      	bt      	0x170c	// 170c <__memset_fast+0x70>
    1702:	2a03      	subi      	r2, 4
    1704:	b520      	st.w      	r1, (r5, 0x0)
    1706:	2503      	addi      	r5, 4
    1708:	3a23      	cmplti      	r2, 4
    170a:	0ffc      	bf      	0x1702	// 1702 <__memset_fast+0x66>
    170c:	3a40      	cmpnei      	r2, 0
    170e:	0fe9      	bf      	0x16e0	// 16e0 <__memset_fast+0x44>
    1710:	2a00      	subi      	r2, 1
    1712:	a520      	st.b      	r1, (r5, 0x0)
    1714:	3a40      	cmpnei      	r2, 0
    1716:	0fe5      	bf      	0x16e0	// 16e0 <__memset_fast+0x44>
    1718:	2a00      	subi      	r2, 1
    171a:	a521      	st.b      	r1, (r5, 0x1)
    171c:	3a40      	cmpnei      	r2, 0
    171e:	0fe1      	bf      	0x16e0	// 16e0 <__memset_fast+0x44>
    1720:	a522      	st.b      	r1, (r5, 0x2)
    1722:	1483      	pop      	r4-r6

Disassembly of section .text.__main:

00001724 <__main>:
extern char _bss_start[];
extern char _ebss[];


void __main( void ) 
{
    1724:	14d0      	push      	r15

  /* if the start of data (dst)
     is not equal to end of text (src) then
     copy it, else it's already in the right place
     */
  if( _start_data != _end_rodata ) {
    1726:	1009      	lrw      	r0, 0x20000000	// 1748 <__main+0x24>
    1728:	1029      	lrw      	r1, 0x59f8	// 174c <__main+0x28>
    172a:	6442      	cmpne      	r0, r1
    172c:	0c05      	bf      	0x1736	// 1736 <__main+0x12>
//    __memcpy_fast( dst, src, (_end_data - _start_data));
    memcpy( dst, src, (_end_data - _start_data));
    172e:	1049      	lrw      	r2, 0x20000108	// 1750 <__main+0x2c>
    1730:	6082      	subu      	r2, r0
    1732:	e3ffff83 	bsr      	0x1638	// 1638 <__memcpy_fast>
  }

  /* zero the bss 
   */
  if( _ebss - _bss_start ) {
    1736:	1048      	lrw      	r2, 0x20000500	// 1754 <__main+0x30>
    1738:	1008      	lrw      	r0, 0x20000108	// 1758 <__main+0x34>
    173a:	640a      	cmpne      	r2, r0
    173c:	0c05      	bf      	0x1746	// 1746 <__main+0x22>
//    __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start ));
    memset( _bss_start, 0x00, ( _ebss - _bss_start ));
    173e:	6082      	subu      	r2, r0
    1740:	3100      	movi      	r1, 0
    1742:	e3ffffad 	bsr      	0x169c	// 169c <__memset_fast>
  }

	
}
    1746:	1490      	pop      	r15
    1748:	20000000 	.long	0x20000000
    174c:	000059f8 	.long	0x000059f8
    1750:	20000108 	.long	0x20000108
    1754:	20000500 	.long	0x20000500
    1758:	20000108 	.long	0x20000108

Disassembly of section .text.SYSCON_General_CMD.part.0:

0000175c <SYSCON_General_CMD.part.0>:
/*************************************************************/  
void SYSCON_General_CMD(FunctionalStatus NewState, SYSCON_General_CMD_TypeDef ENDIS_X )
{
	if (NewState != DISABLE)
	{
		if(ENDIS_X==ENDIS_EMOSC) 
    175c:	3848      	cmpnei      	r0, 8
    175e:	080a      	bt      	0x1772	// 1772 <SYSCON_General_CMD.part.0+0x16>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000;					//使能对应PIN
    1760:	1075      	lrw      	r3, 0x2000004c	// 17b4 <SYSCON_General_CMD.part.0+0x58>
    1762:	32ff      	movi      	r2, 255
    1764:	9320      	ld.w      	r1, (r3, 0x0)
    1766:	9160      	ld.w      	r3, (r1, 0x0)
    1768:	424c      	lsli      	r2, r2, 12
    176a:	68c9      	andn      	r3, r2
    176c:	3bae      	bseti      	r3, 14
    176e:	3bb2      	bseti      	r3, 18
    1770:	b160      	st.w      	r3, (r1, 0x0)
		SYSCON->GCER|=ENDIS_X;													//enable SYSCON General Control
    1772:	1072      	lrw      	r3, 0x20000058	// 17b8 <SYSCON_General_CMD.part.0+0x5c>
    1774:	9360      	ld.w      	r3, (r3, 0x0)
    1776:	9341      	ld.w      	r2, (r3, 0x4)
    1778:	6c80      	or      	r2, r0
    177a:	b341      	st.w      	r2, (r3, 0x4)
		while(!(SYSCON->GCSR&ENDIS_X));											//check  Enable?	
    177c:	9343      	ld.w      	r2, (r3, 0xc)
    177e:	6880      	and      	r2, r0
    1780:	3a40      	cmpnei      	r2, 0
    1782:	0ffd      	bf      	0x177c	// 177c <SYSCON_General_CMD.part.0+0x20>
		switch(ENDIS_X)
    1784:	3842      	cmpnei      	r0, 2
    1786:	0c0f      	bf      	0x17a4	// 17a4 <SYSCON_General_CMD.part.0+0x48>
    1788:	3802      	cmphsi      	r0, 3
    178a:	0806      	bt      	0x1796	// 1796 <SYSCON_General_CMD.part.0+0x3a>
    178c:	3841      	cmpnei      	r0, 1
				break;
			case ENDIS_EMOSC:
				while (!(SYSCON->CKST & ENDIS_EMOSC)); 
				break;	
			case ENDIS_ISOSC:
				while (!(SYSCON->CKST & ENDIS_ISOSC)); 
    178e:	080e      	bt      	0x17aa	// 17aa <SYSCON_General_CMD.part.0+0x4e>
    1790:	9344      	ld.w      	r2, (r3, 0x10)
    1792:	3ac0      	btsti      	r2, 0
    1794:	07fd      	br      	0x178e	// 178e <SYSCON_General_CMD.part.0+0x32>
		switch(ENDIS_X)
    1796:	3848      	cmpnei      	r0, 8
    1798:	0c0a      	bf      	0x17ac	// 17ac <SYSCON_General_CMD.part.0+0x50>
    179a:	3850      	cmpnei      	r0, 16
				break;
			case ENDIS_HFOSC:
				while (!(SYSCON->CKST & ENDIS_HFOSC)); 
    179c:	0807      	bt      	0x17aa	// 17aa <SYSCON_General_CMD.part.0+0x4e>
    179e:	9344      	ld.w      	r2, (r3, 0x10)
    17a0:	3ac4      	btsti      	r2, 4
    17a2:	07fd      	br      	0x179c	// 179c <SYSCON_General_CMD.part.0+0x40>
				while (!(SYSCON->CKST & ENDIS_IMOSC)); 	
    17a4:	9344      	ld.w      	r2, (r3, 0x10)
    17a6:	3ac1      	btsti      	r2, 1
    17a8:	0ffe      	bf      	0x17a4	// 17a4 <SYSCON_General_CMD.part.0+0x48>
	{
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
		while(SYSCON->GCSR&ENDIS_X);											//check  Disable?
		SYSCON->ICR|=ENDIS_X;													// Clear ENDIS_X stable bit
	}
}
    17aa:	783c      	jmp      	r15
				while (!(SYSCON->CKST & ENDIS_EMOSC)); 
    17ac:	9344      	ld.w      	r2, (r3, 0x10)
    17ae:	3ac3      	btsti      	r2, 3
    17b0:	0ffe      	bf      	0x17ac	// 17ac <SYSCON_General_CMD.part.0+0x50>
    17b2:	07fc      	br      	0x17aa	// 17aa <SYSCON_General_CMD.part.0+0x4e>
    17b4:	2000004c 	.long	0x2000004c
    17b8:	20000058 	.long	0x20000058

Disassembly of section .text.SYSCON_RST_VALUE:

000017bc <SYSCON_RST_VALUE>:
	SYSCON->RAMCHK=SYSCON_RAMCHK_RST;
    17bc:	106f      	lrw      	r3, 0x20000058	// 17f8 <SYSCON_RST_VALUE+0x3c>
    17be:	1050      	lrw      	r2, 0xffff	// 17fc <SYSCON_RST_VALUE+0x40>
    17c0:	9360      	ld.w      	r3, (r3, 0x0)
    17c2:	b345      	st.w      	r2, (r3, 0x14)
	SYSCON->EFLCHK=SYSCON_EFLCHK_RST;
    17c4:	104f      	lrw      	r2, 0xffffff	// 1800 <SYSCON_RST_VALUE+0x44>
    17c6:	b346      	st.w      	r2, (r3, 0x18)
	SYSCON->SCLKCR=SYSCON_SCLKCR_RST;
    17c8:	104f      	lrw      	r2, 0xd22d0000	// 1804 <SYSCON_RST_VALUE+0x48>
    17ca:	b347      	st.w      	r2, (r3, 0x1c)
	SYSCON->OSTR=SYSCON_OSTR_RST;
    17cc:	104f      	lrw      	r2, 0x70ff3bff	// 1808 <SYSCON_RST_VALUE+0x4c>
    17ce:	b350      	st.w      	r2, (r3, 0x40)
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
    17d0:	3180      	movi      	r1, 128
	SYSCON->LVDCR=SYSCON_LVDCR_RST;
    17d2:	320a      	movi      	r2, 10
    17d4:	b353      	st.w      	r2, (r3, 0x4c)
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
    17d6:	604c      	addu      	r1, r3
    17d8:	3200      	movi      	r2, 0
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
    17da:	100d      	lrw      	r0, 0x70c	// 180c <SYSCON_RST_VALUE+0x50>
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
    17dc:	b145      	st.w      	r2, (r1, 0x14)
	SYSCON->UREG0=SYSCON_UREG0_RST;
    17de:	23ff      	addi      	r3, 256
	SYSCON->EXIFT=SYSCON_EXIFT_RST;
    17e0:	b146      	st.w      	r2, (r1, 0x18)
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
    17e2:	b10d      	st.w      	r0, (r1, 0x34)
	SYSCON->IWDCNT=SYSCON_IWDCNT_RST;
    17e4:	100b      	lrw      	r0, 0x3fe	// 1810 <SYSCON_RST_VALUE+0x54>
    17e6:	b10e      	st.w      	r0, (r1, 0x38)
	SYSCON->EVTRG=SYSCON_EVTRG_RST;
    17e8:	b15d      	st.w      	r2, (r1, 0x74)
	SYSCON->EVPS=SYSCON_EVPS_RST;
    17ea:	b15e      	st.w      	r2, (r1, 0x78)
	SYSCON->EVSWF=SYSCON_EVSWF_RST;
    17ec:	b15f      	st.w      	r2, (r1, 0x7c)
	SYSCON->UREG0=SYSCON_UREG0_RST;
    17ee:	b340      	st.w      	r2, (r3, 0x0)
	SYSCON->UREG1=SYSCON_UREG1_RST;
    17f0:	b341      	st.w      	r2, (r3, 0x4)
	SYSCON->UREG2=SYSCON_UREG2_RST;
    17f2:	b342      	st.w      	r2, (r3, 0x8)
	SYSCON->UREG3=SYSCON_UREG3_RST;
    17f4:	b343      	st.w      	r2, (r3, 0xc)
}
    17f6:	783c      	jmp      	r15
    17f8:	20000058 	.long	0x20000058
    17fc:	0000ffff 	.long	0x0000ffff
    1800:	00ffffff 	.long	0x00ffffff
    1804:	d22d0000 	.long	0xd22d0000
    1808:	70ff3bff 	.long	0x70ff3bff
    180c:	0000070c 	.long	0x0000070c
    1810:	000003fe 	.long	0x000003fe

Disassembly of section .text.SYSCON_General_CMD:

00001814 <SYSCON_General_CMD>:
{
    1814:	14d0      	push      	r15
	if (NewState != DISABLE)
    1816:	3840      	cmpnei      	r0, 0
    1818:	0c05      	bf      	0x1822	// 1822 <SYSCON_General_CMD+0xe>
    181a:	6c07      	mov      	r0, r1
    181c:	e3ffffa0 	bsr      	0x175c	// 175c <SYSCON_General_CMD.part.0>
}
    1820:	1490      	pop      	r15
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
    1822:	1068      	lrw      	r3, 0x20000058	// 1840 <SYSCON_General_CMD+0x2c>
    1824:	9360      	ld.w      	r3, (r3, 0x0)
    1826:	9342      	ld.w      	r2, (r3, 0x8)
    1828:	6c84      	or      	r2, r1
    182a:	b342      	st.w      	r2, (r3, 0x8)
		while(SYSCON->GCSR&ENDIS_X);											//check  Disable?
    182c:	9343      	ld.w      	r2, (r3, 0xc)
    182e:	6884      	and      	r2, r1
    1830:	3a40      	cmpnei      	r2, 0
    1832:	0bfd      	bt      	0x182c	// 182c <SYSCON_General_CMD+0x18>
		SYSCON->ICR|=ENDIS_X;													// Clear ENDIS_X stable bit
    1834:	237f      	addi      	r3, 128
    1836:	9301      	ld.w      	r0, (r3, 0x4)
    1838:	6c40      	or      	r1, r0
    183a:	b321      	st.w      	r1, (r3, 0x4)
}
    183c:	07f2      	br      	0x1820	// 1820 <SYSCON_General_CMD+0xc>
    183e:	0000      	bkpt
    1840:	20000058 	.long	0x20000058

Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config:

00001844 <SystemCLK_HCLKDIV_PCLKDIV_Config>:
//SystemClk_data_x:EMOSC_24M,EMOSC_16M,EMOSC_12M,EMOSC_8M,EMOSC_4M,EMOSC_36K,
//ISOSC,IMOSC,HFOSC_48M,HFOSC_24M,HFOSC_12M,HFOSC_6M
//ReturnValue:NONE
/*************************************************************/ 
void SystemCLK_HCLKDIV_PCLKDIV_Config(SystemCLK_TypeDef SYSCLK_X , SystemCLK_Div_TypeDef HCLK_DIV_X , PCLK_Div_TypeDef PCLK_DIV_X , SystemClk_data_TypeDef SystemClk_data_x )
{
    1844:	14c2      	push      	r4-r5
	if(SystemClk_data_x==HFOSC_48M)
    1846:	3b48      	cmpnei      	r3, 8
    1848:	0823      	bt      	0x188e	// 188e <SystemCLK_HCLKDIV_PCLKDIV_Config+0x4a>
	{
		IFC->CEDR=0X01;						//CLKEN
    184a:	1097      	lrw      	r4, 0x2000005c	// 18a4 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x60>
    184c:	3501      	movi      	r5, 1
    184e:	9480      	ld.w      	r4, (r4, 0x0)
    1850:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X02|(0X01<<16);			//高速模式
    1852:	10b6      	lrw      	r5, 0x10002	// 18a8 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x64>
	}
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==EMOSC_16M)||(SystemClk_data_x==HFOSC_24M))
	{
		IFC->CEDR=0X01;						//CLKEN
		IFC->MR=0X01|(0X01<<16);			//中速模式
    1854:	b4a5      	st.w      	r5, (r4, 0x14)
	}
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==HFOSC_6M))
    1856:	5b87      	subi      	r4, r3, 2
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
    1858:	3c05      	cmphsi      	r4, 6
    185a:	0c04      	bf      	0x1862	// 1862 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x1e>
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==HFOSC_6M))
    185c:	2b09      	subi      	r3, 10
    185e:	3b01      	cmphsi      	r3, 2
    1860:	0807      	bt      	0x186e	// 186e <SystemCLK_HCLKDIV_PCLKDIV_Config+0x2a>
	{
		IFC->CEDR=0X01;						//CLKEN
    1862:	1071      	lrw      	r3, 0x2000005c	// 18a4 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x60>
    1864:	3401      	movi      	r4, 1
    1866:	9360      	ld.w      	r3, (r3, 0x0)
    1868:	b381      	st.w      	r4, (r3, 0x4)
		IFC->MR=0X00|(0X00<<16);			//低速
    186a:	3400      	movi      	r4, 0
    186c:	b385      	st.w      	r4, (r3, 0x14)
	}
	SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
    186e:	1090      	lrw      	r4, 0xd22d0000	// 18ac <SystemCLK_HCLKDIV_PCLKDIV_Config+0x68>
    1870:	1070      	lrw      	r3, 0x20000058	// 18b0 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x6c>
    1872:	6c10      	or      	r0, r4
    1874:	9360      	ld.w      	r3, (r3, 0x0)
    1876:	6c40      	or      	r1, r0
    1878:	b327      	st.w      	r1, (r3, 0x1c)
	while (!(SYSCON->CKST & (1<<8))); 											// waiting for sysclk stable
    187a:	9324      	ld.w      	r1, (r3, 0x10)
    187c:	39c8      	btsti      	r1, 8
    187e:	0ffe      	bf      	0x187a	// 187a <SystemCLK_HCLKDIV_PCLKDIV_Config+0x36>
	SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X;											//PCLK DIV 1 2 4 6 8 16		
    1880:	102d      	lrw      	r1, 0xc33c0000	// 18b4 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x70>
    1882:	6c48      	or      	r1, r2
    1884:	b328      	st.w      	r1, (r3, 0x20)
	while(SYSCON->PCLKCR!=PCLK_DIV_X);											//Wait PCLK DIV
    1886:	9328      	ld.w      	r1, (r3, 0x20)
    1888:	644a      	cmpne      	r2, r1
    188a:	0bfe      	bt      	0x1886	// 1886 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x42>
}
    188c:	1482      	pop      	r4-r5
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==EMOSC_16M)||(SystemClk_data_x==HFOSC_24M))
    188e:	3b01      	cmphsi      	r3, 2
    1890:	0c03      	bf      	0x1896	// 1896 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x52>
    1892:	3b49      	cmpnei      	r3, 9
    1894:	0be1      	bt      	0x1856	// 1856 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x12>
		IFC->CEDR=0X01;						//CLKEN
    1896:	1084      	lrw      	r4, 0x2000005c	// 18a4 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x60>
    1898:	3501      	movi      	r5, 1
    189a:	9480      	ld.w      	r4, (r4, 0x0)
    189c:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X01|(0X01<<16);			//中速模式
    189e:	10a7      	lrw      	r5, 0x10001	// 18b8 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x74>
    18a0:	07da      	br      	0x1854	// 1854 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x10>
    18a2:	0000      	bkpt
    18a4:	2000005c 	.long	0x2000005c
    18a8:	00010002 	.long	0x00010002
    18ac:	d22d0000 	.long	0xd22d0000
    18b0:	20000058 	.long	0x20000058
    18b4:	c33c0000 	.long	0xc33c0000
    18b8:	00010001 	.long	0x00010001

Disassembly of section .text.SYSCON_HFOSC_SELECTE:

000018bc <SYSCON_HFOSC_SELECTE>:
//EntryParameter:HFOSC_SELECTE_X
//HFOSC_SELECTE_X:HFOSC_SELECTE_48M,HFOSC_SELECTE_24M;HFOSC_SELECTE_12M;HFOSC_SELECTE_6M
//ReturnValue:NONE
/*************************************************************/  
void SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_TypeDef HFOSC_SELECTE_X)
{		
    18bc:	14d1      	push      	r4, r15
    18be:	6d03      	mov      	r4, r0
	SYSCON_General_CMD(DISABLE,ENDIS_HFOSC);					//disable HFOSC
    18c0:	3110      	movi      	r1, 16
    18c2:	3000      	movi      	r0, 0
    18c4:	e3ffffa8 	bsr      	0x1814	// 1814 <SYSCON_General_CMD>
	SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X;
    18c8:	1066      	lrw      	r3, 0x20000058	// 18e0 <SYSCON_HFOSC_SELECTE+0x24>
    18ca:	9360      	ld.w      	r3, (r3, 0x0)
    18cc:	9319      	ld.w      	r0, (r3, 0x64)
    18ce:	3884      	bclri      	r0, 4
    18d0:	3885      	bclri      	r0, 5
    18d2:	6c10      	or      	r0, r4
    18d4:	b319      	st.w      	r0, (r3, 0x64)
    18d6:	3010      	movi      	r0, 16
    18d8:	e3ffff42 	bsr      	0x175c	// 175c <SYSCON_General_CMD.part.0>
	SYSCON_General_CMD(ENABLE,ENDIS_HFOSC);						//enable HFOSC
}
    18dc:	1491      	pop      	r4, r15
    18de:	0000      	bkpt
    18e0:	20000058 	.long	0x20000058

Disassembly of section .text.SYSCON_WDT_CMD:

000018e4 <SYSCON_WDT_CMD>:
//EntryParameter:,NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_WDT_CMD(FunctionalStatus NewState)
{
    18e4:	1069      	lrw      	r3, 0x20000058	// 1908 <SYSCON_WDT_CMD+0x24>
	if(NewState != DISABLE)
    18e6:	3840      	cmpnei      	r0, 0
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    18e8:	9360      	ld.w      	r3, (r3, 0x0)
    18ea:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
    18ec:	0c07      	bf      	0x18fa	// 18fa <SYSCON_WDT_CMD+0x16>
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    18ee:	1048      	lrw      	r2, 0x78870000	// 190c <SYSCON_WDT_CMD+0x28>
    18f0:	b34f      	st.w      	r2, (r3, 0x3c)
		while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
    18f2:	934d      	ld.w      	r2, (r3, 0x34)
    18f4:	3acc      	btsti      	r2, 12
    18f6:	0ffe      	bf      	0x18f2	// 18f2 <SYSCON_WDT_CMD+0xe>
	else
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
	}
}
    18f8:	783c      	jmp      	r15
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
    18fa:	1046      	lrw      	r2, 0x788755aa	// 1910 <SYSCON_WDT_CMD+0x2c>
    18fc:	b34f      	st.w      	r2, (r3, 0x3c)
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
    18fe:	934d      	ld.w      	r2, (r3, 0x34)
    1900:	3acc      	btsti      	r2, 12
    1902:	0bfe      	bt      	0x18fe	// 18fe <SYSCON_WDT_CMD+0x1a>
    1904:	07fa      	br      	0x18f8	// 18f8 <SYSCON_WDT_CMD+0x14>
    1906:	0000      	bkpt
    1908:	20000058 	.long	0x20000058
    190c:	78870000 	.long	0x78870000
    1910:	788755aa 	.long	0x788755aa

Disassembly of section .text.SYSCON_IWDCNT_Reload:

00001914 <SYSCON_IWDCNT_Reload>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Reload(void)
{
	SYSCON->IWDCNT=CLR_IWDT;
    1914:	1064      	lrw      	r3, 0x20000058	// 1924 <SYSCON_IWDCNT_Reload+0x10>
    1916:	32b4      	movi      	r2, 180
    1918:	9360      	ld.w      	r3, (r3, 0x0)
    191a:	237f      	addi      	r3, 128
    191c:	4257      	lsli      	r2, r2, 23
    191e:	b34e      	st.w      	r2, (r3, 0x38)
}
    1920:	783c      	jmp      	r15
    1922:	0000      	bkpt
    1924:	20000058 	.long	0x20000058

Disassembly of section .text.SYSCON_IWDCNT_Config:

00001928 <SYSCON_IWDCNT_Config>:
//IWDT_INTW_DIV_X:IWDT_INTW_DIV_1/2/3/4/4/5/6
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Config(IWDT_TIME_TypeDef IWDT_TIME_X , IWDT_TIMEDIV_TypeDef IWDT_INTW_DIV_X )
{
	SYSCON->IWDCR=IWDT_KEY|IWDT_TIME_X|IWDT_INTW_DIV_X;
    1928:	1044      	lrw      	r2, 0x87780000	// 1938 <SYSCON_IWDCNT_Config+0x10>
    192a:	1065      	lrw      	r3, 0x20000058	// 193c <SYSCON_IWDCNT_Config+0x14>
    192c:	6c48      	or      	r1, r2
    192e:	9360      	ld.w      	r3, (r3, 0x0)
    1930:	6c04      	or      	r0, r1
    1932:	237f      	addi      	r3, 128
    1934:	b30d      	st.w      	r0, (r3, 0x34)
}
    1936:	783c      	jmp      	r15
    1938:	87780000 	.long	0x87780000
    193c:	20000058 	.long	0x20000058

Disassembly of section .text.SYSCON_LVD_Config:

00001940 <SYSCON_LVD_Config>:
//X_LVD_INT:ENABLE_LVD_INT,DISABLE_LVD_INT
//INTDET_POL_X:INTDET_POL_fall,INTDET_POL_X_rise,INTDET_POL_X_riseORfall
//ReturnValue: NONE
/*************************************************************/
void SYSCON_LVD_Config(X_LVDEN_TypeDef X_LVDEN , INTDET_LVL_X_TypeDef INTDET_LVL_X , RSTDET_LVL_X_TypeDef RSTDET_LVL_X , X_LVD_INT_TypeDef X_LVD_INT , INTDET_POL_X_TypeDef INTDET_POL_X)
{
    1940:	14c3      	push      	r4-r6
    1942:	9883      	ld.w      	r4, (r14, 0xc)
	//SYSCON->LVDCR=LVD_KEY;
	SYSCON->LVDCR=LVD_KEY|X_LVDEN|INTDET_LVL_X|RSTDET_LVL_X|X_LVD_INT|INTDET_POL_X;
    1944:	10c5      	lrw      	r6, 0xb44b0000	// 1958 <SYSCON_LVD_Config+0x18>
    1946:	6d18      	or      	r4, r6
    1948:	6cd0      	or      	r3, r4
    194a:	6c8c      	or      	r2, r3
    194c:	6c48      	or      	r1, r2
    194e:	10a4      	lrw      	r5, 0x20000058	// 195c <SYSCON_LVD_Config+0x1c>
    1950:	6c04      	or      	r0, r1
    1952:	95a0      	ld.w      	r5, (r5, 0x0)
    1954:	b513      	st.w      	r0, (r5, 0x4c)
}
    1956:	1483      	pop      	r4-r6
    1958:	b44b0000 	.long	0xb44b0000
    195c:	20000058 	.long	0x20000058

Disassembly of section .text.EXTI_trigger_CMD:

00001960 <EXTI_trigger_CMD>:
//EXI_tringer_mode:_EXIRT,_EXIFT
//ReturnValue: LVD detection flag
/*************************************************************/
void EXTI_trigger_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef  EXIPIN , EXI_tringer_mode_TypeDef EXI_tringer_mode)
{
	switch(EXI_tringer_mode)
    1960:	3a40      	cmpnei      	r2, 0
    1962:	0c04      	bf      	0x196a	// 196a <EXTI_trigger_CMD+0xa>
    1964:	3a41      	cmpnei      	r2, 1
    1966:	0c0e      	bf      	0x1982	// 1982 <EXTI_trigger_CMD+0x22>
		{
			SYSCON->EXIFT &=~EXIPIN;	
		}
		break;
	}	
}
    1968:	783c      	jmp      	r15
    196a:	106d      	lrw      	r3, 0x20000058	// 199c <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
    196c:	3840      	cmpnei      	r0, 0
			SYSCON->EXIRT |=EXIPIN;
    196e:	9360      	ld.w      	r3, (r3, 0x0)
    1970:	237f      	addi      	r3, 128
    1972:	9345      	ld.w      	r2, (r3, 0x14)
		if(NewState != DISABLE)
    1974:	0c04      	bf      	0x197c	// 197c <EXTI_trigger_CMD+0x1c>
			SYSCON->EXIRT |=EXIPIN;
    1976:	6c48      	or      	r1, r2
    1978:	b325      	st.w      	r1, (r3, 0x14)
    197a:	07f7      	br      	0x1968	// 1968 <EXTI_trigger_CMD+0x8>
			SYSCON->EXIRT &=~EXIPIN;	
    197c:	6885      	andn      	r2, r1
    197e:	b345      	st.w      	r2, (r3, 0x14)
    1980:	07f4      	br      	0x1968	// 1968 <EXTI_trigger_CMD+0x8>
    1982:	1067      	lrw      	r3, 0x20000058	// 199c <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
    1984:	3840      	cmpnei      	r0, 0
			SYSCON->EXIFT |=EXIPIN;
    1986:	9360      	ld.w      	r3, (r3, 0x0)
    1988:	237f      	addi      	r3, 128
    198a:	9346      	ld.w      	r2, (r3, 0x18)
		if(NewState != DISABLE)
    198c:	0c04      	bf      	0x1994	// 1994 <EXTI_trigger_CMD+0x34>
			SYSCON->EXIFT |=EXIPIN;
    198e:	6c48      	or      	r1, r2
    1990:	b326      	st.w      	r1, (r3, 0x18)
    1992:	07eb      	br      	0x1968	// 1968 <EXTI_trigger_CMD+0x8>
			SYSCON->EXIFT &=~EXIPIN;	
    1994:	6885      	andn      	r2, r1
    1996:	b346      	st.w      	r2, (r3, 0x18)
}
    1998:	07e8      	br      	0x1968	// 1968 <EXTI_trigger_CMD+0x8>
    199a:	0000      	bkpt
    199c:	20000058 	.long	0x20000058

Disassembly of section .text.EXTI_interrupt_CMD:

000019a0 <EXTI_interrupt_CMD>:
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void EXTI_interrupt_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef  EXIPIN)
{
	SYSCON->EXICR = 0X3FFF;									//Claer EXI INT status
    19a0:	106b      	lrw      	r3, 0x20000058	// 19cc <EXTI_interrupt_CMD+0x2c>
    19a2:	104c      	lrw      	r2, 0x3fff	// 19d0 <EXTI_interrupt_CMD+0x30>
    19a4:	9360      	ld.w      	r3, (r3, 0x0)
    19a6:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
    19a8:	3840      	cmpnei      	r0, 0
	SYSCON->EXICR = 0X3FFF;									//Claer EXI INT status
    19aa:	b34b      	st.w      	r2, (r3, 0x2c)
	if(NewState != DISABLE)
    19ac:	0c0c      	bf      	0x19c4	// 19c4 <EXTI_interrupt_CMD+0x24>
	{
		SYSCON->EXIER|=EXIPIN;								//EXI4 interrupt enable
    19ae:	9347      	ld.w      	r2, (r3, 0x1c)
    19b0:	6c84      	or      	r2, r1
    19b2:	b347      	st.w      	r2, (r3, 0x1c)
		while(!(SYSCON->EXIMR&EXIPIN));						//Check EXI is enabled or not
    19b4:	9349      	ld.w      	r2, (r3, 0x24)
    19b6:	6884      	and      	r2, r1
    19b8:	3a40      	cmpnei      	r2, 0
    19ba:	0ffd      	bf      	0x19b4	// 19b4 <EXTI_interrupt_CMD+0x14>
		SYSCON->EXICR |=EXIPIN;								// Clear EXI status bit
    19bc:	934b      	ld.w      	r2, (r3, 0x2c)
    19be:	6c48      	or      	r1, r2
    19c0:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else
	{
		SYSCON->EXIDR|=EXIPIN;
	}
}
    19c2:	783c      	jmp      	r15
		SYSCON->EXIDR|=EXIPIN;
    19c4:	9348      	ld.w      	r2, (r3, 0x20)
    19c6:	6c48      	or      	r1, r2
    19c8:	b328      	st.w      	r1, (r3, 0x20)
}
    19ca:	07fc      	br      	0x19c2	// 19c2 <EXTI_interrupt_CMD+0x22>
    19cc:	20000058 	.long	0x20000058
    19d0:	00003fff 	.long	0x00003fff

Disassembly of section .text.GPIO_EXTI_interrupt:

000019d4 <GPIO_EXTI_interrupt>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPIO_EXTI_interrupt(CSP_GPIO_T * GPIOX,U32_T GPIO_IECR_VALUE)
{
	GPIOX->IECR=GPIO_IECR_VALUE;
    19d4:	b02b      	st.w      	r1, (r0, 0x2c)
}
    19d6:	783c      	jmp      	r15

Disassembly of section .text.EXI4_Int_Enable:

000019d8 <EXI4_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI4_Int_Enable(void)
{
	INTC_ISER_WRITE(EXI4_INT);    
    19d8:	3380      	movi      	r3, 128
    19da:	4370      	lsli      	r3, r3, 16
    19dc:	1042      	lrw      	r2, 0xe000e100	// 19e4 <EXI4_Int_Enable+0xc>
    19de:	b260      	st.w      	r3, (r2, 0x0)
}
    19e0:	783c      	jmp      	r15
    19e2:	0000      	bkpt
    19e4:	e000e100 	.long	0xe000e100

Disassembly of section .text.CORET_DeInit:

000019e8 <CORET_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/    
void CORET_DeInit(void)
{
	CK801->CORET_CSR=CORET_CSR_RST;
    19e8:	1065      	lrw      	r3, 0x20000060	// 19fc <CORET_DeInit+0x14>
    19ea:	3204      	movi      	r2, 4
    19ec:	9360      	ld.w      	r3, (r3, 0x0)
    19ee:	b344      	st.w      	r2, (r3, 0x10)
	CK801->CORET_RVR=CORET_RVR_RST;
    19f0:	3200      	movi      	r2, 0
    19f2:	b345      	st.w      	r2, (r3, 0x14)
	CK801->CORET_CVR=CORET_CVR_RST;
    19f4:	b346      	st.w      	r2, (r3, 0x18)
	CK801->CORET_CALIB=CORET_CALIB_RST;
    19f6:	b347      	st.w      	r2, (r3, 0x1c)
}
    19f8:	783c      	jmp      	r15
    19fa:	0000      	bkpt
    19fc:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_Int_Enable:

00001a00 <CORET_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_Int_Enable(void)
{
    CK801->CORET_CVR = 0x0;							// Clear counter and flag
    1a00:	1064      	lrw      	r3, 0x20000060	// 1a10 <CORET_Int_Enable+0x10>
    1a02:	3200      	movi      	r2, 0
    1a04:	9360      	ld.w      	r3, (r3, 0x0)
    1a06:	b346      	st.w      	r2, (r3, 0x18)
	INTC_ISER_WRITE(CORET_INT);    
    1a08:	3201      	movi      	r2, 1
    1a0a:	1063      	lrw      	r3, 0xe000e100	// 1a14 <CORET_Int_Enable+0x14>
    1a0c:	b340      	st.w      	r2, (r3, 0x0)
}
    1a0e:	783c      	jmp      	r15
    1a10:	20000060 	.long	0x20000060
    1a14:	e000e100 	.long	0xe000e100

Disassembly of section .text.CORET_start:

00001a18 <CORET_start>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_start(void)
{
	CK801->CORET_CSR|=0x01;
    1a18:	1063      	lrw      	r3, 0x20000060	// 1a24 <CORET_start+0xc>
    1a1a:	9340      	ld.w      	r2, (r3, 0x0)
    1a1c:	9264      	ld.w      	r3, (r2, 0x10)
    1a1e:	3ba0      	bseti      	r3, 0
    1a20:	b264      	st.w      	r3, (r2, 0x10)
}
    1a22:	783c      	jmp      	r15
    1a24:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_stop:

00001a28 <CORET_stop>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_stop(void)
{
	CK801->CORET_CSR&=0Xfffffffe;
    1a28:	1063      	lrw      	r3, 0x20000060	// 1a34 <CORET_stop+0xc>
    1a2a:	9340      	ld.w      	r2, (r3, 0x0)
    1a2c:	9264      	ld.w      	r3, (r2, 0x10)
    1a2e:	3b80      	bclri      	r3, 0
    1a30:	b264      	st.w      	r3, (r2, 0x10)
}
    1a32:	783c      	jmp      	r15
    1a34:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_CLKSOURCE_EX:

00001a38 <CORET_CLKSOURCE_EX>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_CLKSOURCE_EX(void)
{
	CK801->CORET_CSR&=0Xfffffffb;
    1a38:	1063      	lrw      	r3, 0x20000060	// 1a44 <CORET_CLKSOURCE_EX+0xc>
    1a3a:	9340      	ld.w      	r2, (r3, 0x0)
    1a3c:	9264      	ld.w      	r3, (r2, 0x10)
    1a3e:	3b82      	bclri      	r3, 2
    1a40:	b264      	st.w      	r3, (r2, 0x10)
}
    1a42:	783c      	jmp      	r15
    1a44:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_TICKINT_Enable:

00001a48 <CORET_TICKINT_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_TICKINT_Enable(void)
{
    CK801->CORET_CSR|=0x02;
    1a48:	1063      	lrw      	r3, 0x20000060	// 1a54 <CORET_TICKINT_Enable+0xc>
    1a4a:	9340      	ld.w      	r2, (r3, 0x0)
    1a4c:	9264      	ld.w      	r3, (r2, 0x10)
    1a4e:	3ba1      	bseti      	r3, 1
    1a50:	b264      	st.w      	r3, (r2, 0x10)
}
    1a52:	783c      	jmp      	r15
    1a54:	20000060 	.long	0x20000060

Disassembly of section .text.CORET_reload:

00001a58 <CORET_reload>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_reload(void)
{
	CK801->CORET_CVR = 0x0;							// Clear counter and flag
    1a58:	1063      	lrw      	r3, 0x20000060	// 1a64 <CORET_reload+0xc>
    1a5a:	3200      	movi      	r2, 0
    1a5c:	9360      	ld.w      	r3, (r3, 0x0)
    1a5e:	b346      	st.w      	r2, (r3, 0x18)
}
    1a60:	783c      	jmp      	r15
    1a62:	0000      	bkpt
    1a64:	20000060 	.long	0x20000060

Disassembly of section .text.GPIO_Init:

00001a68 <GPIO_Init>:
//byte:Lowbyte(PIN_0~7),Highbyte(PIN_8~15)
//Dir:0:output 1:input
//ReturnValue:NONE
/*************************************************************/  
void GPIO_Init(CSP_GPIO_T *GPIOx,uint8_t PinNum,GPIO_Dir_TypeDef Dir)
{
    1a68:	14d1      	push      	r4, r15
    uint32_t data_temp;
    uint8_t GPIO_Pin;
    if(PinNum<8)
    1a6a:	3907      	cmphsi      	r1, 8
{
    1a6c:	6d03      	mov      	r4, r0
    if(PinNum<8)
    1a6e:	0830      	bt      	0x1ace	// 1ace <GPIO_Init+0x66>
    {
    switch (PinNum)
    1a70:	5903      	subi      	r0, r1, 1
    1a72:	3806      	cmphsi      	r0, 7
    1a74:	0827      	bt      	0x1ac2	// 1ac2 <GPIO_Init+0x5a>
    1a76:	e3fff39d 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    1a7a:	1004      	.short	0x1004
    1a7c:	1d1a1613 	.long	0x1d1a1613
    1a80:	0021      	.short	0x0021
    {
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
        case 1:data_temp=0xffffff0f;GPIO_Pin=4;break;
    1a82:	3300      	movi      	r3, 0
    1a84:	3104      	movi      	r1, 4
    1a86:	2bf0      	subi      	r3, 241
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    }
        if (Dir)
    1a88:	3a40      	cmpnei      	r2, 0
        {
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    1a8a:	9440      	ld.w      	r2, (r4, 0x0)
    1a8c:	68c8      	and      	r3, r2
        if (Dir)
    1a8e:	0c1e      	bf      	0x1aca	// 1aca <GPIO_Init+0x62>
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    1a90:	3201      	movi      	r2, 1
        }
        else
        {
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    1a92:	7084      	lsl      	r2, r1
    1a94:	6cc8      	or      	r3, r2
    1a96:	b460      	st.w      	r3, (r4, 0x0)
        else
        {
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
        }
    }
}
    1a98:	1491      	pop      	r4, r15
        case 2:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    1a9a:	3108      	movi      	r1, 8
    1a9c:	1166      	lrw      	r3, 0xfffff0ff	// 1b34 <GPIO_Init+0xcc>
    1a9e:	07f5      	br      	0x1a88	// 1a88 <GPIO_Init+0x20>
        case 3:data_temp=0xffff0fff;GPIO_Pin=12;break;
    1aa0:	310c      	movi      	r1, 12
    1aa2:	1166      	lrw      	r3, 0xffff0fff	// 1b38 <GPIO_Init+0xd0>
    1aa4:	07f2      	br      	0x1a88	// 1a88 <GPIO_Init+0x20>
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    1aa6:	3110      	movi      	r1, 16
    1aa8:	1165      	lrw      	r3, 0xfff10000	// 1b3c <GPIO_Init+0xd4>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    1aaa:	2b00      	subi      	r3, 1
    1aac:	07ee      	br      	0x1a88	// 1a88 <GPIO_Init+0x20>
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
    1aae:	3114      	movi      	r1, 20
    1ab0:	1164      	lrw      	r3, 0xff100000	// 1b40 <GPIO_Init+0xd8>
    1ab2:	07fc      	br      	0x1aaa	// 1aaa <GPIO_Init+0x42>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    1ab4:	33f1      	movi      	r3, 241
    1ab6:	3118      	movi      	r1, 24
    1ab8:	4378      	lsli      	r3, r3, 24
    1aba:	07f8      	br      	0x1aaa	// 1aaa <GPIO_Init+0x42>
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    1abc:	311c      	movi      	r1, 28
    1abe:	1162      	lrw      	r3, 0xfffffff	// 1b44 <GPIO_Init+0xdc>
    1ac0:	07e4      	br      	0x1a88	// 1a88 <GPIO_Init+0x20>
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
    1ac2:	3300      	movi      	r3, 0
    1ac4:	3100      	movi      	r1, 0
    1ac6:	2b0f      	subi      	r3, 16
    1ac8:	07e0      	br      	0x1a88	// 1a88 <GPIO_Init+0x20>
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    1aca:	3202      	movi      	r2, 2
    1acc:	07e3      	br      	0x1a92	// 1a92 <GPIO_Init+0x2a>
    else if (PinNum<16)
    1ace:	390f      	cmphsi      	r1, 16
    1ad0:	0be4      	bt      	0x1a98	// 1a98 <GPIO_Init+0x30>
        switch (PinNum)
    1ad2:	2908      	subi      	r1, 9
    1ad4:	3906      	cmphsi      	r1, 7
    1ad6:	6c07      	mov      	r0, r1
    1ad8:	0827      	bt      	0x1b26	// 1b26 <GPIO_Init+0xbe>
    1ada:	e3fff36b 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    1ade:	1004      	.short	0x1004
    1ae0:	1d1a1613 	.long	0x1d1a1613
    1ae4:	0021      	.short	0x0021
        case 9:data_temp=0xffffff0f;GPIO_Pin=4;break;
    1ae6:	3300      	movi      	r3, 0
    1ae8:	3104      	movi      	r1, 4
    1aea:	2bf0      	subi      	r3, 241
      if (Dir)
    1aec:	3a40      	cmpnei      	r2, 0
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    1aee:	9441      	ld.w      	r2, (r4, 0x4)
    1af0:	68c8      	and      	r3, r2
      if (Dir)
    1af2:	0c1e      	bf      	0x1b2e	// 1b2e <GPIO_Init+0xc6>
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    1af4:	3201      	movi      	r2, 1
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    1af6:	7084      	lsl      	r2, r1
    1af8:	6cc8      	or      	r3, r2
    1afa:	b461      	st.w      	r3, (r4, 0x4)
}
    1afc:	07ce      	br      	0x1a98	// 1a98 <GPIO_Init+0x30>
        case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    1afe:	3108      	movi      	r1, 8
    1b00:	106d      	lrw      	r3, 0xfffff0ff	// 1b34 <GPIO_Init+0xcc>
    1b02:	07f5      	br      	0x1aec	// 1aec <GPIO_Init+0x84>
        case 11:data_temp=0xffff0fff;GPIO_Pin=12;break;
    1b04:	310c      	movi      	r1, 12
    1b06:	106d      	lrw      	r3, 0xffff0fff	// 1b38 <GPIO_Init+0xd0>
    1b08:	07f2      	br      	0x1aec	// 1aec <GPIO_Init+0x84>
        case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    1b0a:	3110      	movi      	r1, 16
    1b0c:	106c      	lrw      	r3, 0xfff10000	// 1b3c <GPIO_Init+0xd4>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    1b0e:	2b00      	subi      	r3, 1
    1b10:	07ee      	br      	0x1aec	// 1aec <GPIO_Init+0x84>
        case 13:data_temp=0xff0fffff;GPIO_Pin=20;break;
    1b12:	3114      	movi      	r1, 20
    1b14:	106b      	lrw      	r3, 0xff100000	// 1b40 <GPIO_Init+0xd8>
    1b16:	07fc      	br      	0x1b0e	// 1b0e <GPIO_Init+0xa6>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    1b18:	33f1      	movi      	r3, 241
    1b1a:	3118      	movi      	r1, 24
    1b1c:	4378      	lsli      	r3, r3, 24
    1b1e:	07f8      	br      	0x1b0e	// 1b0e <GPIO_Init+0xa6>
        case 15:data_temp=0x0fffffff;GPIO_Pin=28;break;
    1b20:	311c      	movi      	r1, 28
    1b22:	1069      	lrw      	r3, 0xfffffff	// 1b44 <GPIO_Init+0xdc>
    1b24:	07e4      	br      	0x1aec	// 1aec <GPIO_Init+0x84>
        case 8:data_temp=0xfffffff0;GPIO_Pin=0;break;
    1b26:	3300      	movi      	r3, 0
    1b28:	3100      	movi      	r1, 0
    1b2a:	2b0f      	subi      	r3, 16
    1b2c:	07e0      	br      	0x1aec	// 1aec <GPIO_Init+0x84>
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    1b2e:	3202      	movi      	r2, 2
    1b30:	07e3      	br      	0x1af6	// 1af6 <GPIO_Init+0x8e>
    1b32:	0000      	bkpt
    1b34:	fffff0ff 	.long	0xfffff0ff
    1b38:	ffff0fff 	.long	0xffff0fff
    1b3c:	fff10000 	.long	0xfff10000
    1b40:	ff100000 	.long	0xff100000
    1b44:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.GPIO_IntGroup_Set:

00001b48 <GPIO_IntGroup_Set>:
//EXI16~EXI17:GPIOA0.0~GPIOA0.7
//EXI18~EXI19:GPIOB0.0~GPIOB0.3
//ReturnValue:NONE
/*************************************************************/  
void GPIO_IntGroup_Set(GPIO_Group_TypeDef IO_MODE , uint8_t PinNum , GPIO_EXIPIN_TypeDef Selete_EXI_x)
{
    1b48:	14c1      	push      	r4
    1b4a:	1422      	subi      	r14, r14, 8
	volatile unsigned int  R_data_temp;
    volatile unsigned char R_GPIO_Pin;
	if(Selete_EXI_x<16)
    1b4c:	3a0f      	cmphsi      	r2, 16
    1b4e:	084f      	bt      	0x1bec	// 1bec <GPIO_IntGroup_Set+0xa4>
	{
		if((Selete_EXI_x==0)||(Selete_EXI_x==8))
    1b50:	6ccb      	mov      	r3, r2
    1b52:	3b83      	bclri      	r3, 3
    1b54:	3b40      	cmpnei      	r3, 0
    1b56:	0813      	bt      	0x1b7c	// 1b7c <GPIO_IntGroup_Set+0x34>
		{
			R_data_temp=0xfffffff0;
    1b58:	2b0f      	subi      	r3, 16
    1b5a:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=0;
    1b5c:	3300      	movi      	r3, 0
		else if((Selete_EXI_x==7)||(Selete_EXI_x==15))
		{
			R_data_temp=0x0fffffff;
			R_GPIO_Pin=28;
		}
		if(Selete_EXI_x<8)
    1b5e:	3a07      	cmphsi      	r2, 8
			R_GPIO_Pin=28;
    1b60:	dc6e0003 	st.b      	r3, (r14, 0x3)
    1b64:	1176      	lrw      	r3, 0x20000044	// 1c3c <GPIO_IntGroup_Set+0xf4>
		if(Selete_EXI_x<8)
    1b66:	0c38      	bf      	0x1bd6	// 1bd6 <GPIO_IntGroup_Set+0x8e>
		{
			GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<<R_GPIO_Pin);
		}
		else if((Selete_EXI_x<16)&&(Selete_EXI_x>=8))
		{
			GPIOGRP->IGRPH =(GPIOGRP->IGRPH & R_data_temp) | (IO_MODE<<R_GPIO_Pin);    
    1b68:	9340      	ld.w      	r2, (r3, 0x0)
    1b6a:	9261      	ld.w      	r3, (r2, 0x4)
    1b6c:	9881      	ld.w      	r4, (r14, 0x4)
    1b6e:	d82e0003 	ld.b      	r1, (r14, 0x3)
    1b72:	68d0      	and      	r3, r4
    1b74:	7004      	lsl      	r0, r1
    1b76:	6c0c      	or      	r0, r3
    1b78:	b201      	st.w      	r0, (r2, 0x4)
    1b7a:	0437      	br      	0x1be8	// 1be8 <GPIO_IntGroup_Set+0xa0>
		else if((Selete_EXI_x==1)||(Selete_EXI_x==9))
    1b7c:	3b41      	cmpnei      	r3, 1
    1b7e:	0806      	bt      	0x1b8a	// 1b8a <GPIO_IntGroup_Set+0x42>
			R_data_temp=0xffffff0f;
    1b80:	3300      	movi      	r3, 0
    1b82:	2bf0      	subi      	r3, 241
    1b84:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=4;
    1b86:	3304      	movi      	r3, 4
    1b88:	07eb      	br      	0x1b5e	// 1b5e <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==2)||(Selete_EXI_x==10))
    1b8a:	3b42      	cmpnei      	r3, 2
    1b8c:	0805      	bt      	0x1b96	// 1b96 <GPIO_IntGroup_Set+0x4e>
			R_data_temp=0xfffff0ff;
    1b8e:	116d      	lrw      	r3, 0xfffff0ff	// 1c40 <GPIO_IntGroup_Set+0xf8>
    1b90:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=8;
    1b92:	3308      	movi      	r3, 8
    1b94:	07e5      	br      	0x1b5e	// 1b5e <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==3)||(Selete_EXI_x==11))
    1b96:	3b43      	cmpnei      	r3, 3
    1b98:	0805      	bt      	0x1ba2	// 1ba2 <GPIO_IntGroup_Set+0x5a>
			R_data_temp=0xffff0fff;
    1b9a:	116b      	lrw      	r3, 0xffff0fff	// 1c44 <GPIO_IntGroup_Set+0xfc>
    1b9c:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=12;
    1b9e:	330c      	movi      	r3, 12
    1ba0:	07df      	br      	0x1b5e	// 1b5e <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==4)||(Selete_EXI_x==12))
    1ba2:	3b44      	cmpnei      	r3, 4
    1ba4:	0806      	bt      	0x1bb0	// 1bb0 <GPIO_IntGroup_Set+0x68>
			R_data_temp=0xfff0ffff;
    1ba6:	1169      	lrw      	r3, 0xfff10000	// 1c48 <GPIO_IntGroup_Set+0x100>
    1ba8:	2b00      	subi      	r3, 1
    1baa:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=16;
    1bac:	3310      	movi      	r3, 16
    1bae:	07d8      	br      	0x1b5e	// 1b5e <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==5)||(Selete_EXI_x==13))
    1bb0:	3b45      	cmpnei      	r3, 5
    1bb2:	0806      	bt      	0x1bbe	// 1bbe <GPIO_IntGroup_Set+0x76>
			R_data_temp=0xff0fffff;
    1bb4:	1166      	lrw      	r3, 0xff100000	// 1c4c <GPIO_IntGroup_Set+0x104>
    1bb6:	2b00      	subi      	r3, 1
    1bb8:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=20;
    1bba:	3314      	movi      	r3, 20
    1bbc:	07d1      	br      	0x1b5e	// 1b5e <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==6)||(Selete_EXI_x==14))
    1bbe:	3b46      	cmpnei      	r3, 6
    1bc0:	0807      	bt      	0x1bce	// 1bce <GPIO_IntGroup_Set+0x86>
			R_data_temp=0xf0ffffff;
    1bc2:	33f1      	movi      	r3, 241
    1bc4:	4378      	lsli      	r3, r3, 24
    1bc6:	2b00      	subi      	r3, 1
    1bc8:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=24;
    1bca:	3318      	movi      	r3, 24
    1bcc:	07c9      	br      	0x1b5e	// 1b5e <GPIO_IntGroup_Set+0x16>
			R_data_temp=0x0fffffff;
    1bce:	1161      	lrw      	r3, 0xfffffff	// 1c50 <GPIO_IntGroup_Set+0x108>
    1bd0:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=28;
    1bd2:	331c      	movi      	r3, 28
    1bd4:	07c5      	br      	0x1b5e	// 1b5e <GPIO_IntGroup_Set+0x16>
			GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<<R_GPIO_Pin);
    1bd6:	9340      	ld.w      	r2, (r3, 0x0)
    1bd8:	9260      	ld.w      	r3, (r2, 0x0)
    1bda:	9881      	ld.w      	r4, (r14, 0x4)
    1bdc:	d82e0003 	ld.b      	r1, (r14, 0x3)
    1be0:	68d0      	and      	r3, r4
    1be2:	7004      	lsl      	r0, r1
    1be4:	6c0c      	or      	r0, r3
    1be6:	b200      	st.w      	r0, (r2, 0x0)
			{
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
			}
		}
	}
}
    1be8:	1402      	addi      	r14, r14, 8
    1bea:	1481      	pop      	r4
	else if(Selete_EXI_x<20)
    1bec:	3a13      	cmphsi      	r2, 20
    1bee:	0bfd      	bt      	0x1be8	// 1be8 <GPIO_IntGroup_Set+0xa0>
		if((IO_MODE==0)&&((Selete_EXI_x==16)||((Selete_EXI_x==17))))						//PA0.0~PA0.7
    1bf0:	3840      	cmpnei      	r0, 0
    1bf2:	0814      	bt      	0x1c1a	// 1c1a <GPIO_IntGroup_Set+0xd2>
    1bf4:	3300      	movi      	r3, 0
    1bf6:	2b0f      	subi      	r3, 16
    1bf8:	60c8      	addu      	r3, r2
    1bfa:	3b01      	cmphsi      	r3, 2
    1bfc:	0bf6      	bt      	0x1be8	// 1be8 <GPIO_IntGroup_Set+0xa0>
			if(Selete_EXI_x==16)
    1bfe:	3a50      	cmpnei      	r2, 16
    1c00:	106f      	lrw      	r3, 0x20000044	// 1c3c <GPIO_IntGroup_Set+0xf4>
    1c02:	0806      	bt      	0x1c0e	// 1c0e <GPIO_IntGroup_Set+0xc6>
				GPIOGRP->IGREX =(GPIOGRP->IGREX)|PinNum;
    1c04:	9340      	ld.w      	r2, (r3, 0x0)
    1c06:	9262      	ld.w      	r3, (r2, 0x8)
    1c08:	6c4c      	or      	r1, r3
    1c0a:	b222      	st.w      	r1, (r2, 0x8)
    1c0c:	07ee      	br      	0x1be8	// 1be8 <GPIO_IntGroup_Set+0xa0>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<4);
    1c0e:	9360      	ld.w      	r3, (r3, 0x0)
    1c10:	9342      	ld.w      	r2, (r3, 0x8)
    1c12:	4124      	lsli      	r1, r1, 4
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
    1c14:	6c48      	or      	r1, r2
    1c16:	b322      	st.w      	r1, (r3, 0x8)
}
    1c18:	07e8      	br      	0x1be8	// 1be8 <GPIO_IntGroup_Set+0xa0>
		else if((IO_MODE==1)&&((Selete_EXI_x==18)||(Selete_EXI_x==19)))					//PB0.0~PB0.3
    1c1a:	3841      	cmpnei      	r0, 1
    1c1c:	0be6      	bt      	0x1be8	// 1be8 <GPIO_IntGroup_Set+0xa0>
    1c1e:	3300      	movi      	r3, 0
    1c20:	2b11      	subi      	r3, 18
    1c22:	60c8      	addu      	r3, r2
    1c24:	3b01      	cmphsi      	r3, 2
    1c26:	0be1      	bt      	0x1be8	// 1be8 <GPIO_IntGroup_Set+0xa0>
    1c28:	1065      	lrw      	r3, 0x20000044	// 1c3c <GPIO_IntGroup_Set+0xf4>
			if(Selete_EXI_x==18)
    1c2a:	3a52      	cmpnei      	r2, 18
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8);
    1c2c:	9360      	ld.w      	r3, (r3, 0x0)
    1c2e:	9342      	ld.w      	r2, (r3, 0x8)
			if(Selete_EXI_x==18)
    1c30:	0803      	bt      	0x1c36	// 1c36 <GPIO_IntGroup_Set+0xee>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8);
    1c32:	4128      	lsli      	r1, r1, 8
    1c34:	07f0      	br      	0x1c14	// 1c14 <GPIO_IntGroup_Set+0xcc>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
    1c36:	412c      	lsli      	r1, r1, 12
    1c38:	07ee      	br      	0x1c14	// 1c14 <GPIO_IntGroup_Set+0xcc>
    1c3a:	0000      	bkpt
    1c3c:	20000044 	.long	0x20000044
    1c40:	fffff0ff 	.long	0xfffff0ff
    1c44:	ffff0fff 	.long	0xffff0fff
    1c48:	fff10000 	.long	0xfff10000
    1c4c:	ff100000 	.long	0xff100000
    1c50:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.GPIOA0_EXI_Init:

00001c54 <GPIOA0_EXI_Init>:
//IO EXI SET 
//EntryParameter:EXI_IO(EXI0~EXI13)
//ReturnValue:NONE
/*************************************************************/  
void GPIOA0_EXI_Init(GPIO_EXI_TypeDef EXI_IO)
{
    1c54:	14d0      	push      	r15
    switch (EXI_IO)
    1c56:	380f      	cmphsi      	r0, 16
    1c58:	0812      	bt      	0x1c7c	// 1c7c <GPIOA0_EXI_Init+0x28>
    1c5a:	117d      	lrw      	r3, 0x2000004c	// 1d4c <GPIOA0_EXI_Init+0xf8>
    1c5c:	e3fff2aa 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    1c60:	1d150f08 	.long	0x1d150f08
    1c64:	39322b24 	.long	0x39322b24
    1c68:	544c463f 	.long	0x544c463f
    1c6c:	7069625b 	.long	0x7069625b
    {
        case 0:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0) | 0X00000001;break;
    1c70:	9340      	ld.w      	r2, (r3, 0x0)
    1c72:	9260      	ld.w      	r3, (r2, 0x0)
    1c74:	310f      	movi      	r1, 15
    1c76:	68c5      	andn      	r3, r1
    1c78:	3ba0      	bseti      	r3, 0
        case 1:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F) | 0X00000010;break;
    1c7a:	b260      	st.w      	r3, (r2, 0x0)
        case 12:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0X00010000;break;
        case 13:GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0X00100000;break;
		case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break;
		case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break;
    }
}
    1c7c:	1490      	pop      	r15
        case 1:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F) | 0X00000010;break;
    1c7e:	9340      	ld.w      	r2, (r3, 0x0)
    1c80:	9260      	ld.w      	r3, (r2, 0x0)
    1c82:	31f0      	movi      	r1, 240
    1c84:	68c5      	andn      	r3, r1
    1c86:	3ba4      	bseti      	r3, 4
    1c88:	07f9      	br      	0x1c7a	// 1c7a <GPIOA0_EXI_Init+0x26>
        case 2:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF) | 0X00000100;break;
    1c8a:	9320      	ld.w      	r1, (r3, 0x0)
    1c8c:	32f0      	movi      	r2, 240
    1c8e:	9160      	ld.w      	r3, (r1, 0x0)
    1c90:	4244      	lsli      	r2, r2, 4
    1c92:	68c9      	andn      	r3, r2
    1c94:	3ba8      	bseti      	r3, 8
        case 6:GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF) | 0X01000000;break;
    1c96:	b160      	st.w      	r3, (r1, 0x0)
    1c98:	07f2      	br      	0x1c7c	// 1c7c <GPIOA0_EXI_Init+0x28>
        case 3:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF) | 0X00001000;break;
    1c9a:	9320      	ld.w      	r1, (r3, 0x0)
    1c9c:	32f0      	movi      	r2, 240
    1c9e:	9160      	ld.w      	r3, (r1, 0x0)
    1ca0:	4248      	lsli      	r2, r2, 8
    1ca2:	68c9      	andn      	r3, r2
    1ca4:	3bac      	bseti      	r3, 12
    1ca6:	07f8      	br      	0x1c96	// 1c96 <GPIOA0_EXI_Init+0x42>
        case 4:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF0FFFF) | 0X00010000;break;
    1ca8:	9320      	ld.w      	r1, (r3, 0x0)
    1caa:	32f0      	movi      	r2, 240
    1cac:	9160      	ld.w      	r3, (r1, 0x0)
    1cae:	424c      	lsli      	r2, r2, 12
    1cb0:	68c9      	andn      	r3, r2
    1cb2:	3bb0      	bseti      	r3, 16
    1cb4:	07f1      	br      	0x1c96	// 1c96 <GPIOA0_EXI_Init+0x42>
        case 5:GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF) | 0X00100000;break;
    1cb6:	9320      	ld.w      	r1, (r3, 0x0)
    1cb8:	32f0      	movi      	r2, 240
    1cba:	9160      	ld.w      	r3, (r1, 0x0)
    1cbc:	4250      	lsli      	r2, r2, 16
    1cbe:	68c9      	andn      	r3, r2
    1cc0:	3bb4      	bseti      	r3, 20
    1cc2:	07ea      	br      	0x1c96	// 1c96 <GPIOA0_EXI_Init+0x42>
        case 6:GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF) | 0X01000000;break;
    1cc4:	9320      	ld.w      	r1, (r3, 0x0)
    1cc6:	32f0      	movi      	r2, 240
    1cc8:	9160      	ld.w      	r3, (r1, 0x0)
    1cca:	4254      	lsli      	r2, r2, 20
    1ccc:	68c9      	andn      	r3, r2
    1cce:	3bb8      	bseti      	r3, 24
    1cd0:	07e3      	br      	0x1c96	// 1c96 <GPIOA0_EXI_Init+0x42>
        case 7:GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF) | 0X10000000;break;
    1cd2:	9340      	ld.w      	r2, (r3, 0x0)
    1cd4:	9260      	ld.w      	r3, (r2, 0x0)
    1cd6:	4364      	lsli      	r3, r3, 4
    1cd8:	4b64      	lsri      	r3, r3, 4
    1cda:	3bbc      	bseti      	r3, 28
    1cdc:	07cf      	br      	0x1c7a	// 1c7a <GPIOA0_EXI_Init+0x26>
        case 8:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0) | 0X00000001;break;
    1cde:	9340      	ld.w      	r2, (r3, 0x0)
    1ce0:	9261      	ld.w      	r3, (r2, 0x4)
    1ce2:	310f      	movi      	r1, 15
    1ce4:	68c5      	andn      	r3, r1
    1ce6:	3ba0      	bseti      	r3, 0
		case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break;
    1ce8:	b261      	st.w      	r3, (r2, 0x4)
}
    1cea:	07c9      	br      	0x1c7c	// 1c7c <GPIOA0_EXI_Init+0x28>
        case 9:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFF0F) | 0X00000010;break;
    1cec:	9340      	ld.w      	r2, (r3, 0x0)
    1cee:	9261      	ld.w      	r3, (r2, 0x4)
    1cf0:	31f0      	movi      	r1, 240
    1cf2:	68c5      	andn      	r3, r1
    1cf4:	3ba4      	bseti      	r3, 4
    1cf6:	07f9      	br      	0x1ce8	// 1ce8 <GPIOA0_EXI_Init+0x94>
        case 10:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFF0FF) | 0X00000100;break;
    1cf8:	9320      	ld.w      	r1, (r3, 0x0)
    1cfa:	32f0      	movi      	r2, 240
    1cfc:	9161      	ld.w      	r3, (r1, 0x4)
    1cfe:	4244      	lsli      	r2, r2, 4
    1d00:	68c9      	andn      	r3, r2
    1d02:	3ba8      	bseti      	r3, 8
		case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break;
    1d04:	b161      	st.w      	r3, (r1, 0x4)
    1d06:	07bb      	br      	0x1c7c	// 1c7c <GPIOA0_EXI_Init+0x28>
        case 11:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFF0FFF) | 0X00001000;break;
    1d08:	9320      	ld.w      	r1, (r3, 0x0)
    1d0a:	32f0      	movi      	r2, 240
    1d0c:	9161      	ld.w      	r3, (r1, 0x4)
    1d0e:	4248      	lsli      	r2, r2, 8
    1d10:	68c9      	andn      	r3, r2
    1d12:	3bac      	bseti      	r3, 12
    1d14:	07f8      	br      	0x1d04	// 1d04 <GPIOA0_EXI_Init+0xb0>
        case 12:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0X00010000;break;
    1d16:	9320      	ld.w      	r1, (r3, 0x0)
    1d18:	32f0      	movi      	r2, 240
    1d1a:	9161      	ld.w      	r3, (r1, 0x4)
    1d1c:	424c      	lsli      	r2, r2, 12
    1d1e:	68c9      	andn      	r3, r2
    1d20:	3bb0      	bseti      	r3, 16
    1d22:	07f1      	br      	0x1d04	// 1d04 <GPIOA0_EXI_Init+0xb0>
        case 13:GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0X00100000;break;
    1d24:	9320      	ld.w      	r1, (r3, 0x0)
    1d26:	32f0      	movi      	r2, 240
    1d28:	9161      	ld.w      	r3, (r1, 0x4)
    1d2a:	4250      	lsli      	r2, r2, 16
    1d2c:	68c9      	andn      	r3, r2
    1d2e:	3bb4      	bseti      	r3, 20
    1d30:	07ea      	br      	0x1d04	// 1d04 <GPIOA0_EXI_Init+0xb0>
		case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break;
    1d32:	9320      	ld.w      	r1, (r3, 0x0)
    1d34:	32f0      	movi      	r2, 240
    1d36:	9161      	ld.w      	r3, (r1, 0x4)
    1d38:	4254      	lsli      	r2, r2, 20
    1d3a:	68c9      	andn      	r3, r2
    1d3c:	3bb8      	bseti      	r3, 24
    1d3e:	07e3      	br      	0x1d04	// 1d04 <GPIOA0_EXI_Init+0xb0>
		case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break;
    1d40:	9340      	ld.w      	r2, (r3, 0x0)
    1d42:	9261      	ld.w      	r3, (r2, 0x4)
    1d44:	4364      	lsli      	r3, r3, 4
    1d46:	4b64      	lsri      	r3, r3, 4
    1d48:	3bbc      	bseti      	r3, 28
    1d4a:	07cf      	br      	0x1ce8	// 1ce8 <GPIOA0_EXI_Init+0x94>
    1d4c:	2000004c 	.long	0x2000004c

Disassembly of section .text.GPIO_Write_High:

00001d50 <GPIO_Write_High>:
//bit:0~15
//ReturnValue:VALUE
/*************************************************************/
void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->SODR = (1ul<<bit);
    1d50:	3301      	movi      	r3, 1
    1d52:	70c4      	lsl      	r3, r1
    1d54:	b063      	st.w      	r3, (r0, 0xc)
}
    1d56:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Write_Low:

00001d58 <GPIO_Write_Low>:
void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->CODR = (1ul<<bit);
    1d58:	3301      	movi      	r3, 1
    1d5a:	70c4      	lsl      	r3, r1
    1d5c:	b064      	st.w      	r3, (r0, 0x10)
}
    1d5e:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Read_Status:

00001d60 <GPIO_Read_Status>:
/*************************************************************/
uint8_t GPIO_Read_Status(CSP_GPIO_T *GPIOx,uint8_t bit)
{
    uint8_t value = 0;
    uint32_t dat = 0;
    dat=((GPIOx)->PSDR)&(1<<bit);
    1d60:	3301      	movi      	r3, 1
    1d62:	9046      	ld.w      	r2, (r0, 0x18)
    1d64:	70c4      	lsl      	r3, r1
    1d66:	688c      	and      	r2, r3
    if (dat == (1<<bit))								
    1d68:	64ca      	cmpne      	r2, r3
    1d6a:	6403      	mvcv      	r0
	{
	    value = 1;
	} 
    return value;
    1d6c:	7400      	zextb      	r0, r0
}
    1d6e:	783c      	jmp      	r15

Disassembly of section .text.WWDT_CONFIG:

00001d70 <WWDT_CONFIG>:
//WWDT CONFIG
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void WWDT_CONFIG(WWDT_PSCDIV_TypeDef PSCDIVX,U8_T WND_DATA,WWDT_DBGEN_TypeDef DBGENX)
{
    1d70:	14c1      	push      	r4
	WWDT->CFGR =WND_DATA;
    1d72:	1065      	lrw      	r3, 0x20000010	// 1d84 <WWDT_CONFIG+0x14>
    1d74:	9380      	ld.w      	r4, (r3, 0x0)
    1d76:	b421      	st.w      	r1, (r4, 0x4)
	WWDT->CFGR |= PSCDIVX |DBGENX;
    1d78:	9461      	ld.w      	r3, (r4, 0x4)
    1d7a:	6c8c      	or      	r2, r3
    1d7c:	6c08      	or      	r0, r2
    1d7e:	b401      	st.w      	r0, (r4, 0x4)
}
    1d80:	1481      	pop      	r4
    1d82:	0000      	bkpt
    1d84:	20000010 	.long	0x20000010

Disassembly of section .text.WWDT_CNT_Load:

00001d88 <WWDT_CNT_Load>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void WWDT_CNT_Load(U8_T cnt_data)
{
	WWDT->CR  |= cnt_data;						//SET
    1d88:	1063      	lrw      	r3, 0x20000010	// 1d94 <WWDT_CNT_Load+0xc>
    1d8a:	9360      	ld.w      	r3, (r3, 0x0)
    1d8c:	9340      	ld.w      	r2, (r3, 0x0)
    1d8e:	6c08      	or      	r0, r2
    1d90:	b300      	st.w      	r0, (r3, 0x0)
}
    1d92:	783c      	jmp      	r15
    1d94:	20000010 	.long	0x20000010

Disassembly of section .text.WWDT_Int_Config:

00001d98 <WWDT_Int_Config>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void WWDT_Int_Config(FunctionalStatus NewState)
{
	if (NewState != DISABLE)
    1d98:	3840      	cmpnei      	r0, 0
    1d9a:	106a      	lrw      	r3, 0x20000010	// 1dc0 <WWDT_Int_Config+0x28>
    1d9c:	0c0b      	bf      	0x1db2	// 1db2 <WWDT_Int_Config+0x1a>
	{
		WWDT->ICR = WWDT_EVI;				
    1d9e:	9360      	ld.w      	r3, (r3, 0x0)
    1da0:	3101      	movi      	r1, 1
    1da2:	b325      	st.w      	r1, (r3, 0x14)
		WWDT->IMCR  |= WWDT_EVI;
    1da4:	9344      	ld.w      	r2, (r3, 0x10)
    1da6:	6c84      	or      	r2, r1
    1da8:	b344      	st.w      	r2, (r3, 0x10)
		INTC_ISER_WRITE(WWDT_INT);  
    1daa:	3240      	movi      	r2, 64
    1dac:	1066      	lrw      	r3, 0xe000e100	// 1dc4 <WWDT_Int_Config+0x2c>
	}
	else
	{
		WWDT->IMCR  &= ~WWDT_EVI;					//CLR
		INTC_ICER_WRITE(WWDT_INT);  
    1dae:	b340      	st.w      	r2, (r3, 0x0)
	}
    1db0:	783c      	jmp      	r15
		WWDT->IMCR  &= ~WWDT_EVI;					//CLR
    1db2:	9340      	ld.w      	r2, (r3, 0x0)
    1db4:	9264      	ld.w      	r3, (r2, 0x10)
    1db6:	3b80      	bclri      	r3, 0
    1db8:	b264      	st.w      	r3, (r2, 0x10)
		INTC_ICER_WRITE(WWDT_INT);  
    1dba:	3240      	movi      	r2, 64
    1dbc:	1063      	lrw      	r3, 0xe000e180	// 1dc8 <WWDT_Int_Config+0x30>
    1dbe:	07f8      	br      	0x1dae	// 1dae <WWDT_Int_Config+0x16>
    1dc0:	20000010 	.long	0x20000010
    1dc4:	e000e100 	.long	0xe000e100
    1dc8:	e000e180 	.long	0xe000e180

Disassembly of section .text.I2C_DeInit:

00001dcc <I2C_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_DeInit(void)
{
    I2C0->ENABLE  	= 0;
    1dcc:	1064      	lrw      	r3, 0x20000030	// 1ddc <I2C_DeInit+0x10>
    1dce:	3200      	movi      	r2, 0
    1dd0:	9360      	ld.w      	r3, (r3, 0x0)
    1dd2:	b34f      	st.w      	r2, (r3, 0x3c)
    I2C0->IMSCR  	= 0;
    1dd4:	b357      	st.w      	r2, (r3, 0x5c)
    I2C0->ICR   	= 0X7FFF;
    1dd6:	1043      	lrw      	r2, 0x7fff	// 1de0 <I2C_DeInit+0x14>
    1dd8:	b359      	st.w      	r2, (r3, 0x64)
} 
    1dda:	783c      	jmp      	r15
    1ddc:	20000030 	.long	0x20000030
    1de0:	00007fff 	.long	0x00007fff

Disassembly of section .text.I2C_Slave_CONFIG:

00001de4 <I2C_Slave_CONFIG>:
//I2C_SALVE_ADD:I2C SLAVE ADDRESS
//ReturnValue:NONE
/*************************************************************/
void I2C_Slave_CONFIG(I2C_SDA_TypeDef I2C_SDA_IO,I2C_SCL_TypeDef I2C_SCL_IO,I2C_SPEEDMODE_TypeDef SPEEDMODE,
						I2C_SLAVEBITS_TypeDef SLAVEBITS,U16_T I2C_SALVE_ADDS,U16_T SS_SCLHX,U16_T SS_SCLLX)
{
    1de4:	14c4      	push      	r4-r7
    1de6:	1421      	subi      	r14, r14, 4
    1de8:	d88e100a 	ld.h      	r4, (r14, 0x14)
	//SDA IO Initial
    if(I2C_SDA_IO==I2C_SDA_PA00)
    1dec:	3840      	cmpnei      	r0, 0
{
    1dee:	b880      	st.w      	r4, (r14, 0x0)
    1df0:	d8ae100c 	ld.h      	r5, (r14, 0x18)
    1df4:	d88e100e 	ld.h      	r4, (r14, 0x1c)
    if(I2C_SDA_IO==I2C_SDA_PA00)
    1df8:	080a      	bt      	0x1e0c	// 1e0c <I2C_Slave_CONFIG+0x28>
    {
    GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0)  | 0x00000005;            //PA0.0->SDA
    1dfa:	1206      	lrw      	r0, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1dfc:	370f      	movi      	r7, 15
    1dfe:	90c0      	ld.w      	r6, (r0, 0x0)
    1e00:	9600      	ld.w      	r0, (r6, 0x0)
    1e02:	681d      	andn      	r0, r7
    1e04:	38a0      	bseti      	r0, 0
    1e06:	38a2      	bseti      	r0, 2
    {
    GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00006000;            //PA0.3->SDA   ///
    }
	else if (I2C_SDA_IO==I2C_SDA_PA07)
    {
    GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x40000000;            //PA0.7->SDA        
    1e08:	b600      	st.w      	r0, (r6, 0x0)
    1e0a:	040c      	br      	0x1e22	// 1e22 <I2C_Slave_CONFIG+0x3e>
    else if(I2C_SDA_IO==I2C_SDA_PA03)
    1e0c:	3841      	cmpnei      	r0, 1
    1e0e:	0827      	bt      	0x1e5c	// 1e5c <I2C_Slave_CONFIG+0x78>
    GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00006000;            //PA0.3->SDA   ///
    1e10:	1200      	lrw      	r0, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1e12:	36f0      	movi      	r6, 240
    1e14:	90e0      	ld.w      	r7, (r0, 0x0)
    1e16:	9700      	ld.w      	r0, (r7, 0x0)
    1e18:	46c8      	lsli      	r6, r6, 8
    1e1a:	6819      	andn      	r0, r6
    1e1c:	38ad      	bseti      	r0, 13
    1e1e:	38ae      	bseti      	r0, 14
    1e20:	b700      	st.w      	r0, (r7, 0x0)
	else if(I2C_SDA_IO==I2C_SDA_PA014)
    {
    GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF)  | 0x06000000;            //PA0.14->SDA
    }
	//SCL IO Initial
	if (I2C_SCL_IO==I2C_SCL_PB00)
    1e22:	3940      	cmpnei      	r1, 0
    1e24:	083c      	bt      	0x1e9c	// 1e9c <I2C_Slave_CONFIG+0xb8>
    {
    GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000006;            //PB0.0->SCL        
    1e26:	113c      	lrw      	r1, 0x20000048	// 1f14 <I2C_Slave_CONFIG+0x130>
    1e28:	360f      	movi      	r6, 15
    1e2a:	9100      	ld.w      	r0, (r1, 0x0)
    1e2c:	9020      	ld.w      	r1, (r0, 0x0)
    1e2e:	6859      	andn      	r1, r6
    1e30:	39a1      	bseti      	r1, 1
    1e32:	39a2      	bseti      	r1, 2
    }
	else if (I2C_SCL_IO==I2C_SCL_PB02)
    {
    GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000400;            //PB0.2->SCL        
    1e34:	b020      	st.w      	r1, (r0, 0x0)
    }
	else if(I2C_SCL_IO==I2C_SCL_PA015)
    {
    GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF)  | 0x60000000;            //PA0.15->SCL  
    }
	I2C0->ENABLE = (I2C0->ENABLE&0XFFFFFFFE)|I2C_DISABLE;
    1e36:	1139      	lrw      	r1, 0x20000030	// 1f18 <I2C_Slave_CONFIG+0x134>
	I2C0->CR =(I2C0->CR&0XFFFFF000)| I2C_MASTER_DIS |I2C_SLAVE_EN | SPEEDMODE | SLAVEBITS;
    1e38:	11d9      	lrw      	r6, 0xfff	// 1f1c <I2C_Slave_CONFIG+0x138>
	I2C0->ENABLE = (I2C0->ENABLE&0XFFFFFFFE)|I2C_DISABLE;
    1e3a:	9120      	ld.w      	r1, (r1, 0x0)
    1e3c:	910f      	ld.w      	r0, (r1, 0x3c)
    1e3e:	3880      	bclri      	r0, 0
    1e40:	b10f      	st.w      	r0, (r1, 0x3c)
	I2C0->CR =(I2C0->CR&0XFFFFF000)| I2C_MASTER_DIS |I2C_SLAVE_EN | SPEEDMODE | SLAVEBITS;
    1e42:	9100      	ld.w      	r0, (r1, 0x0)
    1e44:	6819      	andn      	r0, r6
    1e46:	6cc0      	or      	r3, r0
    1e48:	6cc8      	or      	r3, r2
    1e4a:	b160      	st.w      	r3, (r1, 0x0)
	I2C0->SADDR = I2C_SALVE_ADDS;
	if(SPEEDMODE==FAST_MODE)
    1e4c:	3a44      	cmpnei      	r2, 4
	I2C0->SADDR = I2C_SALVE_ADDS;
    1e4e:	9860      	ld.w      	r3, (r14, 0x0)
    1e50:	b162      	st.w      	r3, (r1, 0x8)
	if(SPEEDMODE==FAST_MODE)
    1e52:	085a      	bt      	0x1f06	// 1f06 <I2C_Slave_CONFIG+0x122>
	{
		I2C0->FS_SCLH  = SS_SCLHX;  							//SCL high time
    1e54:	b1a7      	st.w      	r5, (r1, 0x1c)
		I2C0->FS_SCLL  = SS_SCLLX;  							//SCL low  time
    1e56:	b188      	st.w      	r4, (r1, 0x20)
	else if(SPEEDMODE==STANDARD_MODE)
	{
		I2C0->SS_SCLH  = SS_SCLHX;  							//SCL high time
		I2C0->SS_SCLL  = SS_SCLLX;  							//SCL low  time
	}
}
    1e58:	1401      	addi      	r14, r14, 4
    1e5a:	1484      	pop      	r4-r7
	else if (I2C_SDA_IO==I2C_SDA_PA07)
    1e5c:	3842      	cmpnei      	r0, 2
    1e5e:	0808      	bt      	0x1e6e	// 1e6e <I2C_Slave_CONFIG+0x8a>
    GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x40000000;            //PA0.7->SDA        
    1e60:	110c      	lrw      	r0, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1e62:	90c0      	ld.w      	r6, (r0, 0x0)
    1e64:	9600      	ld.w      	r0, (r6, 0x0)
    1e66:	4004      	lsli      	r0, r0, 4
    1e68:	4804      	lsri      	r0, r0, 4
    1e6a:	38be      	bseti      	r0, 30
    1e6c:	07ce      	br      	0x1e08	// 1e08 <I2C_Slave_CONFIG+0x24>
	else if(I2C_SDA_IO==I2C_SDA_PA013)
    1e6e:	3843      	cmpnei      	r0, 3
    1e70:	080b      	bt      	0x1e86	// 1e86 <I2C_Slave_CONFIG+0xa2>
    GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00600000;            //PA0.13->SDA
    1e72:	1108      	lrw      	r0, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1e74:	36f0      	movi      	r6, 240
    1e76:	90e0      	ld.w      	r7, (r0, 0x0)
    1e78:	9701      	ld.w      	r0, (r7, 0x4)
    1e7a:	46d0      	lsli      	r6, r6, 16
    1e7c:	6819      	andn      	r0, r6
    1e7e:	38b5      	bseti      	r0, 21
    1e80:	38b6      	bseti      	r0, 22
    GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF)  | 0x06000000;            //PA0.14->SDA
    1e82:	b701      	st.w      	r0, (r7, 0x4)
    1e84:	07cf      	br      	0x1e22	// 1e22 <I2C_Slave_CONFIG+0x3e>
	else if(I2C_SDA_IO==I2C_SDA_PA014)
    1e86:	3844      	cmpnei      	r0, 4
    1e88:	0bcd      	bt      	0x1e22	// 1e22 <I2C_Slave_CONFIG+0x3e>
    GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF)  | 0x06000000;            //PA0.14->SDA
    1e8a:	1102      	lrw      	r0, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1e8c:	36f0      	movi      	r6, 240
    1e8e:	90e0      	ld.w      	r7, (r0, 0x0)
    1e90:	9701      	ld.w      	r0, (r7, 0x4)
    1e92:	46d4      	lsli      	r6, r6, 20
    1e94:	6819      	andn      	r0, r6
    1e96:	38b9      	bseti      	r0, 25
    1e98:	38ba      	bseti      	r0, 26
    1e9a:	07f4      	br      	0x1e82	// 1e82 <I2C_Slave_CONFIG+0x9e>
	else if (I2C_SCL_IO==I2C_SCL_PB02)
    1e9c:	3941      	cmpnei      	r1, 1
    1e9e:	0809      	bt      	0x1eb0	// 1eb0 <I2C_Slave_CONFIG+0xcc>
    GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000400;            //PB0.2->SCL        
    1ea0:	103d      	lrw      	r1, 0x20000048	// 1f14 <I2C_Slave_CONFIG+0x130>
    1ea2:	36f0      	movi      	r6, 240
    1ea4:	9100      	ld.w      	r0, (r1, 0x0)
    1ea6:	9020      	ld.w      	r1, (r0, 0x0)
    1ea8:	46c4      	lsli      	r6, r6, 4
    1eaa:	6859      	andn      	r1, r6
    1eac:	39aa      	bseti      	r1, 10
    1eae:	07c3      	br      	0x1e34	// 1e34 <I2C_Slave_CONFIG+0x50>
    else if(I2C_SCL_IO==I2C_SCL_PA01)
    1eb0:	3942      	cmpnei      	r1, 2
    1eb2:	0809      	bt      	0x1ec4	// 1ec4 <I2C_Slave_CONFIG+0xe0>
    GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F)  | 0x00000050;            //PA0.1->SCL
    1eb4:	1037      	lrw      	r1, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1eb6:	36f0      	movi      	r6, 240
    1eb8:	9100      	ld.w      	r0, (r1, 0x0)
    1eba:	9020      	ld.w      	r1, (r0, 0x0)
    1ebc:	6859      	andn      	r1, r6
    1ebe:	39a4      	bseti      	r1, 4
    1ec0:	39a6      	bseti      	r1, 6
    1ec2:	07b9      	br      	0x1e34	// 1e34 <I2C_Slave_CONFIG+0x50>
    else if(I2C_SCL_IO==I2C_SCL_PA04)
    1ec4:	3943      	cmpnei      	r1, 3
    1ec6:	080a      	bt      	0x1eda	// 1eda <I2C_Slave_CONFIG+0xf6>
     GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF0FFFF)  | 0x00060000;            //PA0.4->SCL   //
    1ec8:	1032      	lrw      	r1, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1eca:	36f0      	movi      	r6, 240
    1ecc:	9100      	ld.w      	r0, (r1, 0x0)
    1ece:	9020      	ld.w      	r1, (r0, 0x0)
    1ed0:	46cc      	lsli      	r6, r6, 12
    1ed2:	6859      	andn      	r1, r6
    1ed4:	39b1      	bseti      	r1, 17
    1ed6:	39b2      	bseti      	r1, 18
    1ed8:	07ae      	br      	0x1e34	// 1e34 <I2C_Slave_CONFIG+0x50>
	else if(I2C_SCL_IO==I2C_SCL_PA06)
    1eda:	3944      	cmpnei      	r1, 4
    1edc:	080a      	bt      	0x1ef0	// 1ef0 <I2C_Slave_CONFIG+0x10c>
    GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF)  | 0x06000000;            //PA0.6->SCL  
    1ede:	102d      	lrw      	r1, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1ee0:	36f0      	movi      	r6, 240
    1ee2:	9100      	ld.w      	r0, (r1, 0x0)
    1ee4:	9020      	ld.w      	r1, (r0, 0x0)
    1ee6:	46d4      	lsli      	r6, r6, 20
    1ee8:	6859      	andn      	r1, r6
    1eea:	39b9      	bseti      	r1, 25
    1eec:	39ba      	bseti      	r1, 26
    1eee:	07a3      	br      	0x1e34	// 1e34 <I2C_Slave_CONFIG+0x50>
	else if(I2C_SCL_IO==I2C_SCL_PA015)
    1ef0:	3945      	cmpnei      	r1, 5
    1ef2:	0ba2      	bt      	0x1e36	// 1e36 <I2C_Slave_CONFIG+0x52>
    GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF)  | 0x60000000;            //PA0.15->SCL  
    1ef4:	1027      	lrw      	r1, 0x2000004c	// 1f10 <I2C_Slave_CONFIG+0x12c>
    1ef6:	9100      	ld.w      	r0, (r1, 0x0)
    1ef8:	9021      	ld.w      	r1, (r0, 0x4)
    1efa:	4124      	lsli      	r1, r1, 4
    1efc:	4924      	lsri      	r1, r1, 4
    1efe:	39bd      	bseti      	r1, 29
    1f00:	39be      	bseti      	r1, 30
    1f02:	b021      	st.w      	r1, (r0, 0x4)
    1f04:	0799      	br      	0x1e36	// 1e36 <I2C_Slave_CONFIG+0x52>
	else if(SPEEDMODE==STANDARD_MODE)
    1f06:	3a42      	cmpnei      	r2, 2
    1f08:	0ba8      	bt      	0x1e58	// 1e58 <I2C_Slave_CONFIG+0x74>
		I2C0->SS_SCLH  = SS_SCLHX;  							//SCL high time
    1f0a:	b1a5      	st.w      	r5, (r1, 0x14)
		I2C0->SS_SCLL  = SS_SCLLX;  							//SCL low  time
    1f0c:	b186      	st.w      	r4, (r1, 0x18)
}
    1f0e:	07a5      	br      	0x1e58	// 1e58 <I2C_Slave_CONFIG+0x74>
    1f10:	2000004c 	.long	0x2000004c
    1f14:	20000048 	.long	0x20000048
    1f18:	20000030 	.long	0x20000030
    1f1c:	00000fff 	.long	0x00000fff

Disassembly of section .text.I2C_SDA_TSETUP_THOLD_CONFIG:

00001f20 <I2C_SDA_TSETUP_THOLD_CONFIG>:
//ReturnValue:NONE
/*************************************************************/
void I2C_SDA_TSETUP_THOLD_CONFIG(U8_T SDA_TSETUP , U8_T SDA_RX_THOLD , U16_T SDA_TX_THOLD)
{
	I2C0->SDA_TSETUP=SDA_TSETUP;
	I2C0->SDA_THOLD=(SDA_RX_THOLD<<16)|SDA_TX_THOLD;
    1f20:	4130      	lsli      	r1, r1, 16
	I2C0->SDA_TSETUP=SDA_TSETUP;
    1f22:	1064      	lrw      	r3, 0x20000030	// 1f30 <I2C_SDA_TSETUP_THOLD_CONFIG+0x10>
	I2C0->SDA_THOLD=(SDA_RX_THOLD<<16)|SDA_TX_THOLD;
    1f24:	6c84      	or      	r2, r1
	I2C0->SDA_TSETUP=SDA_TSETUP;
    1f26:	9360      	ld.w      	r3, (r3, 0x0)
    1f28:	b312      	st.w      	r0, (r3, 0x48)
	I2C0->SDA_THOLD=(SDA_RX_THOLD<<16)|SDA_TX_THOLD;
    1f2a:	b353      	st.w      	r2, (r3, 0x4c)
}
    1f2c:	783c      	jmp      	r15
    1f2e:	0000      	bkpt
    1f30:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_ConfigInterrupt_CMD:

00001f34 <I2C_ConfigInterrupt_CMD>:
//				 I2C_RESTART_DET,I2C_MST_ON_HOLD,I2C_SCL_SLOW   
//NewState:ENABLE/DISABLE
//ReturnValue:NONE
/*************************************************************/
void I2C_ConfigInterrupt_CMD(FunctionalStatus NewState,U32_T INT_TYPE)
{
    1f34:	1066      	lrw      	r3, 0x20000030	// 1f4c <I2C_ConfigInterrupt_CMD+0x18>
	if(NewState != DISABLE)
    1f36:	3840      	cmpnei      	r0, 0
	{
		I2C0->IMSCR |= INT_TYPE;
    1f38:	9340      	ld.w      	r2, (r3, 0x0)
    1f3a:	9277      	ld.w      	r3, (r2, 0x5c)
	if(NewState != DISABLE)
    1f3c:	0c04      	bf      	0x1f44	// 1f44 <I2C_ConfigInterrupt_CMD+0x10>
		I2C0->IMSCR |= INT_TYPE;
    1f3e:	6c4c      	or      	r1, r3
    1f40:	b237      	st.w      	r1, (r2, 0x5c)
	}
	else
	{
		I2C0->IMSCR &= (~INT_TYPE);
	}
}
    1f42:	783c      	jmp      	r15
		I2C0->IMSCR &= (~INT_TYPE);
    1f44:	68c5      	andn      	r3, r1
    1f46:	b277      	st.w      	r3, (r2, 0x5c)
}
    1f48:	07fd      	br      	0x1f42	// 1f42 <I2C_ConfigInterrupt_CMD+0xe>
    1f4a:	0000      	bkpt
    1f4c:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_FIFO_TriggerData:

00001f50 <I2C_FIFO_TriggerData>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_FIFO_TriggerData(U16_T RX_FLSEL,U16_T TX_FLSEL)
{
	I2C0->RX_FLSEL = RX_FLSEL;  							
    1f50:	1063      	lrw      	r3, 0x20000030	// 1f5c <I2C_FIFO_TriggerData+0xc>
    1f52:	9360      	ld.w      	r3, (r3, 0x0)
    1f54:	b30b      	st.w      	r0, (r3, 0x2c)
	I2C0->TX_FLSEL = TX_FLSEL;  							
    1f56:	b32c      	st.w      	r1, (r3, 0x30)
}
    1f58:	783c      	jmp      	r15
    1f5a:	0000      	bkpt
    1f5c:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_Enable:

00001f60 <I2C_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_Enable(void)
{
	I2C0->ENABLE = (I2C0->ENABLE&0XFFFFFFFE)|I2C_ENABLE;                         //Enable I2C
    1f60:	1065      	lrw      	r3, 0x20000030	// 1f74 <I2C_Enable+0x14>
    1f62:	9360      	ld.w      	r3, (r3, 0x0)
    1f64:	934f      	ld.w      	r2, (r3, 0x3c)
    1f66:	3aa0      	bseti      	r2, 0
    1f68:	b34f      	st.w      	r2, (r3, 0x3c)
	while((I2C0->STATUS&0x1000)!=0x1000);
    1f6a:	9350      	ld.w      	r2, (r3, 0x40)
    1f6c:	3acc      	btsti      	r2, 12
    1f6e:	0ffe      	bf      	0x1f6a	// 1f6a <I2C_Enable+0xa>
}
    1f70:	783c      	jmp      	r15
    1f72:	0000      	bkpt
    1f74:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_Disable:

00001f78 <I2C_Disable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_Disable(void)
{
	I2C0->ENABLE =(I2C0->ENABLE&0XFFFFFFFE)|I2C_DISABLE;                         //Disable I2C
    1f78:	1065      	lrw      	r3, 0x20000030	// 1f8c <I2C_Disable+0x14>
    1f7a:	9360      	ld.w      	r3, (r3, 0x0)
    1f7c:	934f      	ld.w      	r2, (r3, 0x3c)
    1f7e:	3a80      	bclri      	r2, 0
    1f80:	b34f      	st.w      	r2, (r3, 0x3c)
	while((I2C0->STATUS&0x1000)==0x1000);
    1f82:	9350      	ld.w      	r2, (r3, 0x40)
    1f84:	3acc      	btsti      	r2, 12
    1f86:	0bfe      	bt      	0x1f82	// 1f82 <I2C_Disable+0xa>
}
    1f88:	783c      	jmp      	r15
    1f8a:	0000      	bkpt
    1f8c:	20000030 	.long	0x20000030

Disassembly of section .text.I2C_Int_Enable:

00001f90 <I2C_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_Int_Enable(void)
{
	INTC_ISER_WRITE(I2C_INT);                             //Enable I2C interrupt
    1f90:	3380      	movi      	r3, 128
    1f92:	436a      	lsli      	r3, r3, 10
    1f94:	1042      	lrw      	r2, 0xe000e100	// 1f9c <I2C_Int_Enable+0xc>
    1f96:	b260      	st.w      	r3, (r2, 0x0)
}
    1f98:	783c      	jmp      	r15
    1f9a:	0000      	bkpt
    1f9c:	e000e100 	.long	0xe000e100

Disassembly of section .text.I2C_Slave_Receive:

00001fa0 <I2C_Slave_Receive>:
//I2C slave Receive
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2C_Slave_Receive(void)
{
    1fa0:	14d2      	push      	r4-r5, r15
	
	if(!(((I2C0->MISR&I2C_SCL_SLOW)==I2C_SCL_SLOW)
    1fa2:	1290      	lrw      	r4, 0x20000030	// 20e0 <I2C_Slave_Receive+0x140>
    1fa4:	9460      	ld.w      	r3, (r4, 0x0)
    1fa6:	9356      	ld.w      	r2, (r3, 0x58)
    1fa8:	3ace      	btsti      	r2, 14
    1faa:	088b      	bt      	0x20c0	// 20c0 <I2C_Slave_Receive+0x120>
			||((I2C0->MISR&I2C_TX_ABRT)==I2C_TX_ABRT)))				 //SCLK锁死,IIC发送中止))
    1fac:	9356      	ld.w      	r2, (r3, 0x58)
	if(!(((I2C0->MISR&I2C_SCL_SLOW)==I2C_SCL_SLOW)
    1fae:	3ac6      	btsti      	r2, 6
    1fb0:	0888      	bt      	0x20c0	// 20c0 <I2C_Slave_Receive+0x120>
	{
	if((I2C0->MISR&I2C_RX_FULL)==I2C_RX_FULL)        //有接收到数据
    1fb2:	9356      	ld.w      	r2, (r3, 0x58)
    1fb4:	3ac2      	btsti      	r2, 2
    1fb6:	0c14      	bf      	0x1fde	// 1fde <I2C_Slave_Receive+0x3e>
	{
		if(RdIndex==0)
    1fb8:	122b      	lrw      	r1, 0x2000010a	// 20e4 <I2C_Slave_Receive+0x144>
    1fba:	8141      	ld.b      	r2, (r1, 0x1)
    1fbc:	3a40      	cmpnei      	r2, 0
    1fbe:	124b      	lrw      	r2, 0x20000375	// 20e8 <I2C_Slave_Receive+0x148>
    1fc0:	084b      	bt      	0x2056	// 2056 <I2C_Slave_Receive+0xb6>
		{
			RdIndex=1;
    1fc2:	3001      	movi      	r0, 1
    1fc4:	a101      	st.b      	r0, (r1, 0x1)
			I2C_Data_Adress=I2C0->DATA_CMD&0XFF;
    1fc6:	9324      	ld.w      	r1, (r3, 0x10)
    1fc8:	7444      	zextb      	r1, r1
    1fca:	a220      	st.b      	r1, (r2, 0x0)
			I2C_St_Adress=I2C_Data_Adress;
    1fcc:	8240      	ld.b      	r2, (r2, 0x0)
    1fce:	7488      	zextb      	r2, r2
    1fd0:	1227      	lrw      	r1, 0x20000354	// 20ec <I2C_Slave_Receive+0x14c>
    1fd2:	a140      	st.b      	r2, (r1, 0x0)
			{
				I2CRdBuffer[I2C_Data_Adress]= I2C0->DATA_CMD&0XFF;
			}
			I2C_Data_Adress++;
		}
		I2C0->ICR = I2C_RX_FULL;
    1fd4:	3204      	movi      	r2, 4
    1fd6:	b359      	st.w      	r2, (r3, 0x64)
		R_IIC_ERROR_CONT=0;
    1fd8:	3200      	movi      	r2, 0
    1fda:	1266      	lrw      	r3, 0x20000350	// 20f0 <I2C_Slave_Receive+0x150>
    1fdc:	b340      	st.w      	r2, (r3, 0x0)
	}
		
	if((I2C0->MISR&I2C_RD_REQ)==I2C_RD_REQ)			//读请求产生
    1fde:	9460      	ld.w      	r3, (r4, 0x0)
    1fe0:	9356      	ld.w      	r2, (r3, 0x58)
    1fe2:	3ac5      	btsti      	r2, 5
    1fe4:	0c1d      	bf      	0x201e	// 201e <I2C_Slave_Receive+0x7e>
	{
		if(RdIndex==1)
    1fe6:	1220      	lrw      	r1, 0x2000010a	// 20e4 <I2C_Slave_Receive+0x144>
    1fe8:	8141      	ld.b      	r2, (r1, 0x1)
    1fea:	3a41      	cmpnei      	r2, 1
    1fec:	0814      	bt      	0x2014	// 2014 <I2C_Slave_Receive+0x74>
		{
			RdIndex=2;
    1fee:	3202      	movi      	r2, 2
    1ff0:	a141      	st.b      	r2, (r1, 0x1)
			WrIndex = I2C_St_Adress;
    1ff2:	115f      	lrw      	r2, 0x20000354	// 20ec <I2C_Slave_Receive+0x14c>
    1ff4:	8240      	ld.b      	r2, (r2, 0x0)
    1ff6:	7488      	zextb      	r2, r2
    1ff8:	a142      	st.b      	r2, (r1, 0x2)
			//I2C_ConfigInterrupt_CMD(ENABLE,I2C_TX_EMPTY);
			if(WrIndex<BUFSIZE)
    1ffa:	8142      	ld.b      	r2, (r1, 0x2)
    1ffc:	7488      	zextb      	r2, r2
    1ffe:	3a1f      	cmphsi      	r2, 32
    2000:	080a      	bt      	0x2014	// 2014 <I2C_Slave_Receive+0x74>
			{
				I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00) |I2CWrBuffer[WrIndex];
    2002:	9344      	ld.w      	r2, (r3, 0x10)
    2004:	8122      	ld.b      	r1, (r1, 0x2)
    2006:	111c      	lrw      	r0, 0x20000355	// 20f4 <I2C_Slave_Receive+0x154>
    2008:	6040      	addu      	r1, r0
    200a:	30ff      	movi      	r0, 255
    200c:	8120      	ld.b      	r1, (r1, 0x0)
    200e:	6881      	andn      	r2, r0
    2010:	6c84      	or      	r2, r1
    2012:	b344      	st.w      	r2, (r3, 0x10)
			}	
		}	
		I2C0->ICR = I2C_RD_REQ;
    2014:	3220      	movi      	r2, 32
    2016:	b359      	st.w      	r2, (r3, 0x64)
		R_IIC_ERROR_CONT=0;
    2018:	3100      	movi      	r1, 0
    201a:	1156      	lrw      	r2, 0x20000350	// 20f0 <I2C_Slave_Receive+0x150>
    201c:	b220      	st.w      	r1, (r2, 0x0)
	} 
                         
	if((I2C0->MISR&I2C_TX_EMPTY)==I2C_TX_EMPTY)				//IIC发送为空
    201e:	9356      	ld.w      	r2, (r3, 0x58)
    2020:	3ac4      	btsti      	r2, 4
    2022:	0c3d      	bf      	0x209c	// 209c <I2C_Slave_Receive+0xfc>
	{
		if(RdIndex==2)
    2024:	1150      	lrw      	r2, 0x2000010a	// 20e4 <I2C_Slave_Receive+0x144>
    2026:	8221      	ld.b      	r1, (r2, 0x1)
    2028:	3942      	cmpnei      	r1, 2
    202a:	0825      	bt      	0x2074	// 2074 <I2C_Slave_Receive+0xd4>
		{
			if(WrIndex+1<BUFSIZE)
    202c:	8222      	ld.b      	r1, (r2, 0x2)
    202e:	7444      	zextb      	r1, r1
    2030:	393e      	cmplti      	r1, 31
    2032:	0c0a      	bf      	0x2046	// 2046 <I2C_Slave_Receive+0xa6>
			{
				I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00) |I2CWrBuffer[WrIndex+1];
    2034:	9324      	ld.w      	r1, (r3, 0x10)
    2036:	11b1      	lrw      	r5, 0x20000356	// 20f8 <I2C_Slave_Receive+0x158>
    2038:	8202      	ld.b      	r0, (r2, 0x2)
    203a:	6014      	addu      	r0, r5
    203c:	35ff      	movi      	r5, 255
    203e:	8000      	ld.b      	r0, (r0, 0x0)
    2040:	6855      	andn      	r1, r5
    2042:	6c40      	or      	r1, r0
    2044:	b324      	st.w      	r1, (r3, 0x10)
			}
			WrIndex++;
    2046:	8262      	ld.b      	r3, (r2, 0x2)
    2048:	2300      	addi      	r3, 1
    204a:	74cc      	zextb      	r3, r3
    204c:	a262      	st.b      	r3, (r2, 0x2)
			else
			{
				R_IIC_ERROR_CONT++;
			}
		}
		I2C0->CR = I2C_TX_EMPTY;
    204e:	9460      	ld.w      	r3, (r4, 0x0)
    2050:	3210      	movi      	r2, 16
		I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00);
		I2C_SLAVE_CONFIG(); 
		RdIndex=0;	
		//I2C_ConfigInterrupt_CMD(ENABLE,I2C_TX_EMPTY);				
		I2C0->ICR = I2C_SCL_SLOW|I2C_TX_ABRT;
		R_IIC_ERROR_CONT=0;
    2052:	b340      	st.w      	r2, (r3, 0x0)
	
}
}
    2054:	1492      	pop      	r4-r5, r15
			if(I2C_Data_Adress<BUFSIZE)
    2056:	8220      	ld.b      	r1, (r2, 0x0)
    2058:	7444      	zextb      	r1, r1
    205a:	391f      	cmphsi      	r1, 32
    205c:	0807      	bt      	0x206a	// 206a <I2C_Slave_Receive+0xca>
				I2CRdBuffer[I2C_Data_Adress]= I2C0->DATA_CMD&0XFF;
    205e:	8220      	ld.b      	r1, (r2, 0x0)
    2060:	11a7      	lrw      	r5, 0x20000376	// 20fc <I2C_Slave_Receive+0x15c>
    2062:	6054      	addu      	r1, r5
    2064:	9304      	ld.w      	r0, (r3, 0x10)
    2066:	7400      	zextb      	r0, r0
    2068:	a100      	st.b      	r0, (r1, 0x0)
			I2C_Data_Adress++;
    206a:	8220      	ld.b      	r1, (r2, 0x0)
    206c:	2100      	addi      	r1, 1
    206e:	7444      	zextb      	r1, r1
    2070:	a220      	st.b      	r1, (r2, 0x0)
    2072:	07b1      	br      	0x1fd4	// 1fd4 <I2C_Slave_Receive+0x34>
			if(R_IIC_ERROR_CONT>10000)
    2074:	10bf      	lrw      	r5, 0x20000350	// 20f0 <I2C_Slave_Receive+0x150>
    2076:	1163      	lrw      	r3, 0x2710	// 2100 <I2C_Slave_Receive+0x160>
    2078:	9540      	ld.w      	r2, (r5, 0x0)
    207a:	648c      	cmphs      	r3, r2
    207c:	080d      	bt      	0x2096	// 2096 <I2C_Slave_Receive+0xf6>
				I2C_Disable();
    207e:	e3ffff7d 	bsr      	0x1f78	// 1f78 <I2C_Disable>
				I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00);
    2082:	9440      	ld.w      	r2, (r4, 0x0)
    2084:	9264      	ld.w      	r3, (r2, 0x10)
    2086:	31ff      	movi      	r1, 255
    2088:	68c5      	andn      	r3, r1
    208a:	b264      	st.w      	r3, (r2, 0x10)
				I2C_SLAVE_CONFIG();
    208c:	e00002f6 	bsr      	0x2678	// 2678 <I2C_SLAVE_CONFIG>
				R_IIC_ERROR_CONT=0;
    2090:	3300      	movi      	r3, 0
				R_IIC_ERROR_CONT++;
    2092:	b560      	st.w      	r3, (r5, 0x0)
    2094:	07dd      	br      	0x204e	// 204e <I2C_Slave_Receive+0xae>
    2096:	9560      	ld.w      	r3, (r5, 0x0)
    2098:	2300      	addi      	r3, 1
    209a:	07fc      	br      	0x2092	// 2092 <I2C_Slave_Receive+0xf2>
	else if((I2C0->MISR&I2C_STOP_DET)==I2C_STOP_DET)
    209c:	9336      	ld.w      	r1, (r3, 0x58)
    209e:	3280      	movi      	r2, 128
    20a0:	39c9      	btsti      	r1, 9
    20a2:	4242      	lsli      	r2, r2, 2
    20a4:	0fd8      	bf      	0x2054	// 2054 <I2C_Slave_Receive+0xb4>
		I2C0->ICR =I2C_STOP_DET;
    20a6:	b359      	st.w      	r2, (r3, 0x64)
		if(RdIndex!=0)
    20a8:	104f      	lrw      	r2, 0x2000010a	// 20e4 <I2C_Slave_Receive+0x144>
    20aa:	8221      	ld.b      	r1, (r2, 0x1)
    20ac:	3940      	cmpnei      	r1, 0
    20ae:	0c03      	bf      	0x20b4	// 20b4 <I2C_Slave_Receive+0x114>
			RdIndex=0;
    20b0:	3100      	movi      	r1, 0
    20b2:	a221      	st.b      	r1, (r2, 0x1)
		R_READ_BUF=I2C0->DATA_CMD&0XFF;
    20b4:	9364      	ld.w      	r3, (r3, 0x10)
    20b6:	74cc      	zextb      	r3, r3
    20b8:	aa62      	st.h      	r3, (r2, 0x4)
		R_IIC_ERROR_CONT=0;
    20ba:	3200      	movi      	r2, 0
    20bc:	106d      	lrw      	r3, 0x20000350	// 20f0 <I2C_Slave_Receive+0x150>
    20be:	07ca      	br      	0x2052	// 2052 <I2C_Slave_Receive+0xb2>
		I2C_Disable();
    20c0:	e3ffff5c 	bsr      	0x1f78	// 1f78 <I2C_Disable>
		I2C0->DATA_CMD= (I2C0->DATA_CMD&0XFFFFFF00);
    20c4:	9440      	ld.w      	r2, (r4, 0x0)
    20c6:	9264      	ld.w      	r3, (r2, 0x10)
    20c8:	31ff      	movi      	r1, 255
    20ca:	68c5      	andn      	r3, r1
    20cc:	b264      	st.w      	r3, (r2, 0x10)
		I2C_SLAVE_CONFIG(); 
    20ce:	e00002d5 	bsr      	0x2678	// 2678 <I2C_SLAVE_CONFIG>
		RdIndex=0;	
    20d2:	1065      	lrw      	r3, 0x2000010a	// 20e4 <I2C_Slave_Receive+0x144>
    20d4:	3200      	movi      	r2, 0
    20d6:	a341      	st.b      	r2, (r3, 0x1)
		I2C0->ICR = I2C_SCL_SLOW|I2C_TX_ABRT;
    20d8:	9460      	ld.w      	r3, (r4, 0x0)
    20da:	104b      	lrw      	r2, 0x4040	// 2104 <I2C_Slave_Receive+0x164>
    20dc:	b359      	st.w      	r2, (r3, 0x64)
    20de:	07ee      	br      	0x20ba	// 20ba <I2C_Slave_Receive+0x11a>
    20e0:	20000030 	.long	0x20000030
    20e4:	2000010a 	.long	0x2000010a
    20e8:	20000375 	.long	0x20000375
    20ec:	20000354 	.long	0x20000354
    20f0:	20000350 	.long	0x20000350
    20f4:	20000355 	.long	0x20000355
    20f8:	20000356 	.long	0x20000356
    20fc:	20000376 	.long	0x20000376
    2100:	00002710 	.long	0x00002710
    2104:	00004040 	.long	0x00004040

Disassembly of section .text.ADC12_RESET_VALUE:

00002108 <ADC12_RESET_VALUE>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void ADC12_RESET_VALUE(void)
{
	 ADC0->ECR	=	ADC_ECR_RST;     				/**< ECR  reset value  */
    2108:	107a      	lrw      	r3, 0x20000050	// 2170 <ADC12_RESET_VALUE+0x68>
	 ADC0->DCR	=	ADC_DCR_RST;                  	/**< DCR  reset value  */
	 ADC0->PMSR	= 	ADC_PMSR_RST;       		  	/**< PMSR reset value  */
	 ADC0->CR	=	ADC_CR_RST;             		/**< CR   reset value  */
    210a:	3180      	movi      	r1, 128
	 ADC0->ECR	=	ADC_ECR_RST;     				/**< ECR  reset value  */
    210c:	9360      	ld.w      	r3, (r3, 0x0)
    210e:	3200      	movi      	r2, 0
	 ADC0->CR	=	ADC_CR_RST;             		/**< CR   reset value  */
    2110:	4138      	lsli      	r1, r1, 24
	 ADC0->ECR	=	ADC_ECR_RST;     				/**< ECR  reset value  */
    2112:	b340      	st.w      	r2, (r3, 0x0)
	 ADC0->DCR	=	ADC_DCR_RST;                  	/**< DCR  reset value  */
    2114:	b341      	st.w      	r2, (r3, 0x4)
	 ADC0->PMSR	= 	ADC_PMSR_RST;       		  	/**< PMSR reset value  */
    2116:	b342      	st.w      	r2, (r3, 0x8)
	 ADC0->CR	=	ADC_CR_RST;             		/**< CR   reset value  */
    2118:	b324      	st.w      	r1, (r3, 0x10)
	 ADC0->CSR	=   ADC_CSR_RST;                  	/**< CSR  reset value  */
	 ADC0->SR 	=	ADC_SR_RST;                   	/**< SR   reset value  */
	 ADC0->IER 	=	ADC_IER_RST;                	/**< IER  reset value  */
	 ADC0->IDR 	=	ADC_IDR_RST;              		/**< IDR  reset value  */
	 ADC0->IMR  	=	ADC_IMR_RST;               		/**< IMR  reset value  */
	 ADC0->SEQ[0]=	ADC_SEQx_RST;             		/**< SEQ0  reset value */
    211a:	3180      	movi      	r1, 128
	 ADC0->MR	=   ADC_MR_RST;                  	/**< MR   reset value  */
    211c:	b345      	st.w      	r2, (r3, 0x14)
	 ADC0->CSR	=   ADC_CSR_RST;                  	/**< CSR  reset value  */
    211e:	b347      	st.w      	r2, (r3, 0x1c)
	 ADC0->SR 	=	ADC_SR_RST;                   	/**< SR   reset value  */
    2120:	b348      	st.w      	r2, (r3, 0x20)
	 ADC0->IER 	=	ADC_IER_RST;                	/**< IER  reset value  */
    2122:	b349      	st.w      	r2, (r3, 0x24)
	 ADC0->IDR 	=	ADC_IDR_RST;              		/**< IDR  reset value  */
    2124:	b34a      	st.w      	r2, (r3, 0x28)
	 ADC0->IMR  	=	ADC_IMR_RST;               		/**< IMR  reset value  */
    2126:	b34b      	st.w      	r2, (r3, 0x2c)
	 ADC0->SEQ[0]=	ADC_SEQx_RST;             		/**< SEQ0  reset value */
    2128:	b32c      	st.w      	r1, (r3, 0x30)
	 ADC0->SEQ[1]=	ADC_SEQx_RST;             		/**< SEQ1  reset value */
    212a:	b32d      	st.w      	r1, (r3, 0x34)
	 ADC0->SEQ[2]=	ADC_SEQx_RST;             		/**< SEQ2  reset value */
    212c:	b32e      	st.w      	r1, (r3, 0x38)
	 ADC0->SEQ[3]=	ADC_SEQx_RST;             		/**< SEQ3  reset value */
    212e:	b32f      	st.w      	r1, (r3, 0x3c)
	 ADC0->SEQ[4]=	ADC_SEQx_RST;             		/**< SEQ4  reset value */
    2130:	b330      	st.w      	r1, (r3, 0x40)
	 ADC0->SEQ[5]=	ADC_SEQx_RST;             		/**< SEQ5  reset value */
    2132:	b331      	st.w      	r1, (r3, 0x44)
	 ADC0->SEQ[6]=	ADC_SEQx_RST;             		/**< SEQ6  reset value */
    2134:	b332      	st.w      	r1, (r3, 0x48)
	 ADC0->SEQ[7]=	ADC_SEQx_RST;             		/**< SEQ7  reset value */
    2136:	b333      	st.w      	r1, (r3, 0x4c)
	 ADC0->SEQ[8]=	ADC_SEQx_RST;             		/**< SEQ8  reset value */
    2138:	b334      	st.w      	r1, (r3, 0x50)
	 ADC0->SEQ[9]=	ADC_SEQx_RST;             		/**< SEQ9  reset value */
    213a:	b335      	st.w      	r1, (r3, 0x54)
	 ADC0->SEQ[10]=	ADC_SEQx_RST;             		/**< SEQ10  reset value */
    213c:	b336      	st.w      	r1, (r3, 0x58)
	 ADC0->SEQ[11]=	ADC_SEQx_RST;             		/**< SEQ11  reset value */
    213e:	b337      	st.w      	r1, (r3, 0x5c)
	 ADC0->SEQ[12]=	ADC_SEQx_RST;             		/**< SEQ12  reset value */
    2140:	b338      	st.w      	r1, (r3, 0x60)
	 ADC0->SEQ[13]=	ADC_SEQx_RST;             		/**< SEQ13  reset value */
    2142:	b339      	st.w      	r1, (r3, 0x64)
	 ADC0->SEQ[14]=	ADC_SEQx_RST;             		/**< SEQ14  reset value */
    2144:	b33a      	st.w      	r1, (r3, 0x68)
	 ADC0->SEQ[15]=	ADC_SEQx_RST;             		/**< SEQ15  reset value */
    2146:	b33b      	st.w      	r1, (r3, 0x6c)
	 ADC0->DR[0]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2148:	23ff      	addi      	r3, 256
    214a:	b340      	st.w      	r2, (r3, 0x0)
	 ADC0->DR[1]  =	ADC_DR_RST;                		/**< DR   reset value  */
    214c:	b341      	st.w      	r2, (r3, 0x4)
	 ADC0->DR[2]  =	ADC_DR_RST;                		/**< DR   reset value  */
    214e:	b342      	st.w      	r2, (r3, 0x8)
	 ADC0->DR[3]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2150:	b343      	st.w      	r2, (r3, 0xc)
	 ADC0->DR[4]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2152:	b344      	st.w      	r2, (r3, 0x10)
	 ADC0->DR[5]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2154:	b345      	st.w      	r2, (r3, 0x14)
	 ADC0->DR[6]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2156:	b346      	st.w      	r2, (r3, 0x18)
	 ADC0->DR[7]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2158:	b347      	st.w      	r2, (r3, 0x1c)
	 ADC0->DR[8]  =	ADC_DR_RST;                		/**< DR   reset value  */
    215a:	b348      	st.w      	r2, (r3, 0x20)
	 ADC0->DR[9]  =	ADC_DR_RST;                		/**< DR   reset value  */
    215c:	b349      	st.w      	r2, (r3, 0x24)
	 ADC0->DR[10]  =	ADC_DR_RST;                		/**< DR   reset value  */
    215e:	b34a      	st.w      	r2, (r3, 0x28)
	 ADC0->DR[11]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2160:	b34b      	st.w      	r2, (r3, 0x2c)
	 ADC0->DR[12]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2162:	b34c      	st.w      	r2, (r3, 0x30)
	 ADC0->DR[13]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2164:	b34d      	st.w      	r2, (r3, 0x34)
	 ADC0->DR[14]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2166:	b34e      	st.w      	r2, (r3, 0x38)
	 ADC0->DR[15]  =	ADC_DR_RST;                		/**< DR   reset value  */
    2168:	b34f      	st.w      	r2, (r3, 0x3c)
	 ADC0->CMP0   =	ADC_CMP0_RST;               	/**< CMP1 reset value  */
    216a:	b350      	st.w      	r2, (r3, 0x40)
	 ADC0->CMP1   =	ADC_CMP1_RST;                	/**< CMP2 reset value  */
    216c:	b351      	st.w      	r2, (r3, 0x44)
}  
    216e:	783c      	jmp      	r15
    2170:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Control:

00002174 <ADC12_Control>:
//ReturnValue:NONE
/*************************************************************/  
  //control:ADC enable/disable ,start/stop,swrst
void ADC12_Control(ADC12_Control_TypeDef ADC12_Control_x )
{
	ADC0->CR |= ADC12_Control_x;							// 
    2174:	1063      	lrw      	r3, 0x20000050	// 2180 <ADC12_Control+0xc>
    2176:	9340      	ld.w      	r2, (r3, 0x0)
    2178:	9264      	ld.w      	r3, (r2, 0x10)
    217a:	6c0c      	or      	r0, r3
    217c:	b204      	st.w      	r0, (r2, 0x10)
}
    217e:	783c      	jmp      	r15
    2180:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CMD.part.0:

00002184 <ADC12_CMD.part.0>:
//ADC12 ENABLE
//EntryParameter:NewState
//NewState:ENABLE , DISABLE
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_CMD(FunctionalStatus NewState)
    2184:	14d0      	push      	r15
{
	if (NewState != DISABLE)
	{
		ADC12_Control(ADC12_ADCEN);						//ADC12 ENABLE
    2186:	3002      	movi      	r0, 2
    2188:	e3fffff6 	bsr      	0x2174	// 2174 <ADC12_Control>
		while(!(ADC0->SR &ADC12_ADCENS));
    218c:	1063      	lrw      	r3, 0x20000050	// 2198 <ADC12_CMD.part.0+0x14>
    218e:	9340      	ld.w      	r2, (r3, 0x0)
    2190:	9268      	ld.w      	r3, (r2, 0x20)
    2192:	3bc8      	btsti      	r3, 8
    2194:	0ffe      	bf      	0x2190	// 2190 <ADC12_CMD.part.0+0xc>
	else
	{
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
		while(ADC0->SR&ADC12_ADCENS);
	}
}
    2196:	1490      	pop      	r15
    2198:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CLK_CMD:

0000219c <ADC12_CLK_CMD>:
	if (NewState != DISABLE)
    219c:	3940      	cmpnei      	r1, 0
    219e:	106a      	lrw      	r3, 0x20000050	// 21c4 <ADC12_CLK_CMD+0x28>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    21a0:	9340      	ld.w      	r2, (r3, 0x0)
	if (NewState != DISABLE)
    21a2:	0c09      	bf      	0x21b4	// 21b4 <ADC12_CLK_CMD+0x18>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    21a4:	9260      	ld.w      	r3, (r2, 0x0)
    21a6:	6cc0      	or      	r3, r0
    21a8:	b260      	st.w      	r3, (r2, 0x0)
		while(!(ADC0->PMSR&ADC_CLK_CMD));
    21aa:	9262      	ld.w      	r3, (r2, 0x8)
    21ac:	68c0      	and      	r3, r0
    21ae:	3b40      	cmpnei      	r3, 0
    21b0:	0ffd      	bf      	0x21aa	// 21aa <ADC12_CLK_CMD+0xe>
}
    21b2:	783c      	jmp      	r15
		ADC0->DCR  |= ADC_CLK_CMD;						//DISABLE
    21b4:	9261      	ld.w      	r3, (r2, 0x4)
    21b6:	6cc0      	or      	r3, r0
    21b8:	b261      	st.w      	r3, (r2, 0x4)
		while(ADC0->PMSR&ADC_CLK_CMD);
    21ba:	9262      	ld.w      	r3, (r2, 0x8)
    21bc:	68c0      	and      	r3, r0
    21be:	3b40      	cmpnei      	r3, 0
    21c0:	0bfd      	bt      	0x21ba	// 21ba <ADC12_CLK_CMD+0x1e>
    21c2:	07f8      	br      	0x21b2	// 21b2 <ADC12_CLK_CMD+0x16>
    21c4:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Software_Reset:

000021c8 <ADC12_Software_Reset>:
{
    21c8:	14d0      	push      	r15
	ADC12_Control(ADC12_SWRST);
    21ca:	3001      	movi      	r0, 1
    21cc:	e3ffffd4 	bsr      	0x2174	// 2174 <ADC12_Control>
}
    21d0:	1490      	pop      	r15

Disassembly of section .text.ADC12_CMD:

000021d4 <ADC12_CMD>:
{
    21d4:	14d0      	push      	r15
	if (NewState != DISABLE)
    21d6:	3840      	cmpnei      	r0, 0
    21d8:	0c04      	bf      	0x21e0	// 21e0 <ADC12_CMD+0xc>
    21da:	e3ffffd5 	bsr      	0x2184	// 2184 <ADC12_CMD.part.0>
}
    21de:	1490      	pop      	r15
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
    21e0:	3004      	movi      	r0, 4
    21e2:	e3ffffc9 	bsr      	0x2174	// 2174 <ADC12_Control>
		while(ADC0->SR&ADC12_ADCENS);
    21e6:	1064      	lrw      	r3, 0x20000050	// 21f4 <ADC12_CMD+0x20>
    21e8:	9340      	ld.w      	r2, (r3, 0x0)
    21ea:	9268      	ld.w      	r3, (r2, 0x20)
    21ec:	3bc8      	btsti      	r3, 8
    21ee:	0bfe      	bt      	0x21ea	// 21ea <ADC12_CMD+0x16>
    21f0:	07f7      	br      	0x21de	// 21de <ADC12_CMD+0xa>
    21f2:	0000      	bkpt
    21f4:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_ready_wait:

000021f8 <ADC12_ready_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 READ FLAG
/*************************************************************/ 
void ADC12_ready_wait(void)  
{
	while(!(ADC0->SR&ADC12_READY));   					// Waiting for ADC0 Ready
    21f8:	1063      	lrw      	r3, 0x20000050	// 2204 <ADC12_ready_wait+0xc>
    21fa:	9340      	ld.w      	r2, (r3, 0x0)
    21fc:	9268      	ld.w      	r3, (r2, 0x20)
    21fe:	3bc1      	btsti      	r3, 1
    2200:	0ffe      	bf      	0x21fc	// 21fc <ADC12_ready_wait+0x4>
}
    2202:	783c      	jmp      	r15
    2204:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_SEQEND_wait:

00002208 <ADC12_SEQEND_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 EOC
/*************************************************************/ 
void ADC12_SEQEND_wait(U8_T val)
{
	while(!(ADC0->SR & (0x01ul << (16+val))));			// EOC wait
    2208:	200f      	addi      	r0, 16
    220a:	1065      	lrw      	r3, 0x20000050	// 221c <ADC12_SEQEND_wait+0x14>
    220c:	3201      	movi      	r2, 1
    220e:	9320      	ld.w      	r1, (r3, 0x0)
    2210:	7080      	lsl      	r2, r0
    2212:	9168      	ld.w      	r3, (r1, 0x20)
    2214:	68c8      	and      	r3, r2
    2216:	3b40      	cmpnei      	r3, 0
    2218:	0ffd      	bf      	0x2212	// 2212 <ADC12_SEQEND_wait+0xa>
}  
    221a:	783c      	jmp      	r15
    221c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_Mode:

00002220 <ADC12_Configure_Mode>:
  //10BIT or 12BIT adc ;
  //ADC12_BIT_SELECTED:ADC12_12BIT/ADC12_10BIT;
  //ADC12_ConverMode:One_shot_mode/Continuous_mode;
  //adc date output=last number of Conversions;
void  ADC12_Configure_Mode(ADC12_10bitor12bit_TypeDef ADC12_BIT_SELECTED  , ADC12_ConverMode_TypeDef  ADC12_ConverMode  , U8_T ADC12_PRI, U8_T adc12_SHR , U8_T ADC12_DIV , U8_T NumConver ) 
{
    2220:	14d4      	push      	r4-r7, r15
    2222:	1422      	subi      	r14, r14, 8
    2224:	1c08      	addi      	r4, r14, 32
    2226:	84a0      	ld.b      	r5, (r4, 0x0)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    2228:	2d00      	subi      	r5, 1
{
    222a:	6dc3      	mov      	r7, r0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    222c:	10d8      	lrw      	r6, 0x20000050	// 228c <ADC12_Configure_Mode+0x6c>
{
    222e:	d80e001c 	ld.b      	r0, (r14, 0x1c)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    2232:	45aa      	lsli      	r5, r5, 10
    2234:	9680      	ld.w      	r4, (r6, 0x0)
    2236:	6d40      	or      	r5, r0
	if(ADC12_ConverMode==One_shot_mode)
    2238:	3940      	cmpnei      	r1, 0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    223a:	b4a5      	st.w      	r5, (r4, 0x14)
	if(ADC12_ConverMode==One_shot_mode)
    223c:	0819      	bt      	0x226e	// 226e <ADC12_Configure_Mode+0x4e>
	{
		ADC0->MR&=~CONTCV;								//one short mode
    223e:	9425      	ld.w      	r1, (r4, 0x14)
    2240:	4121      	lsli      	r1, r1, 1
    2242:	4921      	lsri      	r1, r1, 1
    2244:	b425      	st.w      	r1, (r4, 0x14)
		while(ADC0->SR&ADC12_CTCVS);							
    2246:	9428      	ld.w      	r1, (r4, 0x20)
    2248:	39c9      	btsti      	r1, 9
    224a:	0bfe      	bt      	0x2246	// 2246 <ADC12_Configure_Mode+0x26>
    224c:	b861      	st.w      	r3, (r14, 0x4)
    224e:	b840      	st.w      	r2, (r14, 0x0)
    2250:	e3ffff9a 	bsr      	0x2184	// 2184 <ADC12_CMD.part.0>
	{
		ADC0->MR|=CONTCV;								//Continuous mode
		while(!(ADC0->SR&ADC12_CTCVS));							
	}
	ADC12_CMD(ENABLE);									//ADC0 enable
	if(ADC12_BIT_SELECTED)
    2254:	3f40      	cmpnei      	r7, 0
    2256:	9840      	ld.w      	r2, (r14, 0x0)
    2258:	9861      	ld.w      	r3, (r14, 0x4)
    225a:	0c13      	bf      	0x2280	// 2280 <ADC12_Configure_Mode+0x60>
	{
		ADC0->CR|=ADC12_10BITor12BIT;
    225c:	9600      	ld.w      	r0, (r6, 0x0)
    225e:	9024      	ld.w      	r1, (r0, 0x10)
    2260:	39bf      	bseti      	r1, 31
	}
	else
	{
		ADC0->CR&=~ADC12_10BITor12BIT;
    2262:	b024      	st.w      	r1, (r0, 0x10)
	}
	//ADC0->CR|=ADC12_VREF_VDD | ADC12_FVR_DIS;
	ADC0->PRI=ADC12_PRI;
    2264:	9620      	ld.w      	r1, (r6, 0x0)
    2266:	b15c      	st.w      	r2, (r1, 0x70)
	ADC0->SHR=adc12_SHR;						//采样保持周期
    2268:	b166      	st.w      	r3, (r1, 0x18)
} 
    226a:	1402      	addi      	r14, r14, 8
    226c:	1494      	pop      	r4-r7, r15
	else if(ADC12_ConverMode==Continuous_mode)
    226e:	3941      	cmpnei      	r1, 1
    2270:	0bee      	bt      	0x224c	// 224c <ADC12_Configure_Mode+0x2c>
		ADC0->MR|=CONTCV;								//Continuous mode
    2272:	9425      	ld.w      	r1, (r4, 0x14)
    2274:	39bf      	bseti      	r1, 31
    2276:	b425      	st.w      	r1, (r4, 0x14)
		while(!(ADC0->SR&ADC12_CTCVS));							
    2278:	9428      	ld.w      	r1, (r4, 0x20)
    227a:	39c9      	btsti      	r1, 9
    227c:	0ffe      	bf      	0x2278	// 2278 <ADC12_Configure_Mode+0x58>
    227e:	07e7      	br      	0x224c	// 224c <ADC12_Configure_Mode+0x2c>
		ADC0->CR&=~ADC12_10BITor12BIT;
    2280:	9600      	ld.w      	r0, (r6, 0x0)
    2282:	9024      	ld.w      	r1, (r0, 0x10)
    2284:	4121      	lsli      	r1, r1, 1
    2286:	4921      	lsri      	r1, r1, 1
    2288:	07ed      	br      	0x2262	// 2262 <ADC12_Configure_Mode+0x42>
    228a:	0000      	bkpt
    228c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_VREF_Selecte:

00002290 <ADC12_Configure_VREF_Selecte>:
//EntryParameter:NONE
//ReturnValue:None
/*************************************************************/ 
void ADC12_Configure_VREF_Selecte(ADC12_VREFP_VREFN_Selected_TypeDef ADC12_VREFP_X_VREFN_X )
{
	if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_VDD_VREFN_VSS)
    2290:	3840      	cmpnei      	r0, 0
    2292:	0808      	bt      	0x22a2	// 22a2 <ADC12_Configure_VREF_Selecte+0x12>
	{
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x00<<6);
    2294:	1277      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    2296:	1238      	lrw      	r1, 0x30103c0	// 23f4 <ADC12_Configure_VREF_Selecte+0x164>
    2298:	9340      	ld.w      	r2, (r3, 0x0)
    229a:	9264      	ld.w      	r3, (r2, 0x10)
    229c:	68c5      	andn      	r3, r1
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0B<<6)|(0X01<<24)|(0X01<<25);	
	}
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_EXIT)
	{
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;					
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    229e:	b264      	st.w      	r3, (r2, 0x10)
	}
}
    22a0:	783c      	jmp      	r15
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_EXIT_VREFN_VSS)
    22a2:	3841      	cmpnei      	r0, 1
    22a4:	0810      	bt      	0x22c4	// 22c4 <ADC12_Configure_VREF_Selecte+0x34>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    22a6:	1275      	lrw      	r3, 0x2000004c	// 23f8 <ADC12_Configure_VREF_Selecte+0x168>
    22a8:	32f0      	movi      	r2, 240
    22aa:	9320      	ld.w      	r1, (r3, 0x0)
    22ac:	9160      	ld.w      	r3, (r1, 0x0)
    22ae:	4244      	lsli      	r2, r2, 4
    22b0:	68c9      	andn      	r3, r2
    22b2:	3bab      	bseti      	r3, 11
    22b4:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x01<<6);
    22b6:	1230      	lrw      	r1, 0x30103c0	// 23f4 <ADC12_Configure_VREF_Selecte+0x164>
    22b8:	126e      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    22ba:	9340      	ld.w      	r2, (r3, 0x0)
    22bc:	9264      	ld.w      	r3, (r2, 0x10)
    22be:	68c5      	andn      	r3, r1
    22c0:	3ba6      	bseti      	r3, 6
    22c2:	07ee      	br      	0x229e	// 229e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR2048_VREFN_VSS)
    22c4:	3842      	cmpnei      	r0, 2
    22c6:	0811      	bt      	0x22e8	// 22e8 <ADC12_Configure_VREF_Selecte+0x58>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    22c8:	126c      	lrw      	r3, 0x2000004c	// 23f8 <ADC12_Configure_VREF_Selecte+0x168>
    22ca:	32f0      	movi      	r2, 240
    22cc:	9320      	ld.w      	r1, (r3, 0x0)
    22ce:	9160      	ld.w      	r3, (r1, 0x0)
    22d0:	4244      	lsli      	r2, r2, 4
    22d2:	68c9      	andn      	r3, r2
    22d4:	3bab      	bseti      	r3, 11
    22d6:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x02<<6)|(0X01<<24)|(0X00<<25);
    22d8:	1227      	lrw      	r1, 0x30103c0	// 23f4 <ADC12_Configure_VREF_Selecte+0x164>
    22da:	1266      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    22dc:	9340      	ld.w      	r2, (r3, 0x0)
    22de:	9264      	ld.w      	r3, (r2, 0x10)
    22e0:	68c5      	andn      	r3, r1
    22e2:	3ba7      	bseti      	r3, 7
    22e4:	3bb8      	bseti      	r3, 24
    22e6:	07dc      	br      	0x229e	// 229e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR4096_VREFN_VSS)
    22e8:	3843      	cmpnei      	r0, 3
    22ea:	0811      	bt      	0x230c	// 230c <ADC12_Configure_VREF_Selecte+0x7c>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    22ec:	1263      	lrw      	r3, 0x2000004c	// 23f8 <ADC12_Configure_VREF_Selecte+0x168>
    22ee:	32f0      	movi      	r2, 240
    22f0:	9320      	ld.w      	r1, (r3, 0x0)
    22f2:	9160      	ld.w      	r3, (r1, 0x0)
    22f4:	4244      	lsli      	r2, r2, 4
    22f6:	68c9      	andn      	r3, r2
    22f8:	3bab      	bseti      	r3, 11
    22fa:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x03<<6)|(0X01<<24)|(0X01<<25);
    22fc:	113e      	lrw      	r1, 0x30103c0	// 23f4 <ADC12_Configure_VREF_Selecte+0x164>
    22fe:	117d      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    2300:	9340      	ld.w      	r2, (r3, 0x0)
    2302:	9264      	ld.w      	r3, (r2, 0x10)
    2304:	68c5      	andn      	r3, r1
    2306:	113e      	lrw      	r1, 0x30000c0	// 23fc <ADC12_Configure_VREF_Selecte+0x16c>
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    2308:	6cc4      	or      	r3, r1
    230a:	07ca      	br      	0x229e	// 229e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_VSS)
    230c:	3845      	cmpnei      	r0, 5
    230e:	0809      	bt      	0x2320	// 2320 <ADC12_Configure_VREF_Selecte+0x90>
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x04<<6)|(0X00<<16)|(0X02<<17);
    2310:	1178      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    2312:	113c      	lrw      	r1, 0x30503c0	// 2400 <ADC12_Configure_VREF_Selecte+0x170>
    2314:	9340      	ld.w      	r2, (r3, 0x0)
    2316:	9264      	ld.w      	r3, (r2, 0x10)
    2318:	68c5      	andn      	r3, r1
    231a:	3ba8      	bseti      	r3, 8
    231c:	3bb2      	bseti      	r3, 18
    231e:	07c0      	br      	0x229e	// 229e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_VDD_VREFN_EXIT)
    2320:	3846      	cmpnei      	r0, 6
    2322:	0810      	bt      	0x2342	// 2342 <ADC12_Configure_VREF_Selecte+0xb2>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;	
    2324:	1175      	lrw      	r3, 0x2000004c	// 23f8 <ADC12_Configure_VREF_Selecte+0x168>
    2326:	32f0      	movi      	r2, 240
    2328:	9320      	ld.w      	r1, (r3, 0x0)
    232a:	9160      	ld.w      	r3, (r1, 0x0)
    232c:	4248      	lsli      	r2, r2, 8
    232e:	68c9      	andn      	r3, r2
    2330:	3baf      	bseti      	r3, 15
    2332:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x08<<6);
    2334:	1130      	lrw      	r1, 0x30103c0	// 23f4 <ADC12_Configure_VREF_Selecte+0x164>
    2336:	116f      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    2338:	9340      	ld.w      	r2, (r3, 0x0)
    233a:	9264      	ld.w      	r3, (r2, 0x10)
    233c:	68c5      	andn      	r3, r1
    233e:	3ba9      	bseti      	r3, 9
    2340:	07af      	br      	0x229e	// 229e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_EXIT_VREFN_EXIT)
    2342:	3847      	cmpnei      	r0, 7
    2344:	0817      	bt      	0x2372	// 2372 <ADC12_Configure_VREF_Selecte+0xe2>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;
    2346:	116d      	lrw      	r3, 0x2000004c	// 23f8 <ADC12_Configure_VREF_Selecte+0x168>
    2348:	31f0      	movi      	r1, 240
    234a:	9340      	ld.w      	r2, (r3, 0x0)
    234c:	9260      	ld.w      	r3, (r2, 0x0)
    234e:	4128      	lsli      	r1, r1, 8
    2350:	68c5      	andn      	r3, r1
    2352:	3baf      	bseti      	r3, 15
    2354:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;			
    2356:	31f0      	movi      	r1, 240
    2358:	9260      	ld.w      	r3, (r2, 0x0)
    235a:	4124      	lsli      	r1, r1, 4
    235c:	68c5      	andn      	r3, r1
    235e:	3bab      	bseti      	r3, 11
    2360:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x09<<6);
    2362:	1125      	lrw      	r1, 0x30103c0	// 23f4 <ADC12_Configure_VREF_Selecte+0x164>
    2364:	1163      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    2366:	9340      	ld.w      	r2, (r3, 0x0)
    2368:	9264      	ld.w      	r3, (r2, 0x10)
    236a:	68c5      	andn      	r3, r1
    236c:	3ba6      	bseti      	r3, 6
    236e:	3ba9      	bseti      	r3, 9
    2370:	0797      	br      	0x229e	// 229e <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR2048_VREFN_EXIT)
    2372:	3848      	cmpnei      	r0, 8
    2374:	0816      	bt      	0x23a0	// 23a0 <ADC12_Configure_VREF_Selecte+0x110>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;	
    2376:	1161      	lrw      	r3, 0x2000004c	// 23f8 <ADC12_Configure_VREF_Selecte+0x168>
    2378:	31f0      	movi      	r1, 240
    237a:	9340      	ld.w      	r2, (r3, 0x0)
    237c:	9260      	ld.w      	r3, (r2, 0x0)
    237e:	4128      	lsli      	r1, r1, 8
    2380:	68c5      	andn      	r3, r1
    2382:	3baf      	bseti      	r3, 15
    2384:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;
    2386:	31f0      	movi      	r1, 240
    2388:	9260      	ld.w      	r3, (r2, 0x0)
    238a:	4124      	lsli      	r1, r1, 4
    238c:	68c5      	andn      	r3, r1
    238e:	3bab      	bseti      	r3, 11
    2390:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0A<<6)|(0X01<<24)|(0X00<<25);			
    2392:	1039      	lrw      	r1, 0x30103c0	// 23f4 <ADC12_Configure_VREF_Selecte+0x164>
    2394:	1077      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    2396:	9340      	ld.w      	r2, (r3, 0x0)
    2398:	9264      	ld.w      	r3, (r2, 0x10)
    239a:	68c5      	andn      	r3, r1
    239c:	103a      	lrw      	r1, 0x1000280	// 2404 <ADC12_Configure_VREF_Selecte+0x174>
    239e:	07b5      	br      	0x2308	// 2308 <ADC12_Configure_VREF_Selecte+0x78>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR4096_VREFN_EXIT)
    23a0:	3849      	cmpnei      	r0, 9
    23a2:	0816      	bt      	0x23ce	// 23ce <ADC12_Configure_VREF_Selecte+0x13e>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;	
    23a4:	1075      	lrw      	r3, 0x2000004c	// 23f8 <ADC12_Configure_VREF_Selecte+0x168>
    23a6:	31f0      	movi      	r1, 240
    23a8:	9340      	ld.w      	r2, (r3, 0x0)
    23aa:	9260      	ld.w      	r3, (r2, 0x0)
    23ac:	4128      	lsli      	r1, r1, 8
    23ae:	68c5      	andn      	r3, r1
    23b0:	3baf      	bseti      	r3, 15
    23b2:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;
    23b4:	31f0      	movi      	r1, 240
    23b6:	9260      	ld.w      	r3, (r2, 0x0)
    23b8:	4124      	lsli      	r1, r1, 4
    23ba:	68c5      	andn      	r3, r1
    23bc:	3bab      	bseti      	r3, 11
    23be:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0B<<6)|(0X01<<24)|(0X01<<25);	
    23c0:	102d      	lrw      	r1, 0x30103c0	// 23f4 <ADC12_Configure_VREF_Selecte+0x164>
    23c2:	106c      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    23c4:	9340      	ld.w      	r2, (r3, 0x0)
    23c6:	9264      	ld.w      	r3, (r2, 0x10)
    23c8:	68c5      	andn      	r3, r1
    23ca:	1030      	lrw      	r1, 0x30002c0	// 2408 <ADC12_Configure_VREF_Selecte+0x178>
    23cc:	079e      	br      	0x2308	// 2308 <ADC12_Configure_VREF_Selecte+0x78>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_EXIT)
    23ce:	384b      	cmpnei      	r0, 11
    23d0:	0b68      	bt      	0x22a0	// 22a0 <ADC12_Configure_VREF_Selecte+0x10>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00008000;					
    23d2:	106a      	lrw      	r3, 0x2000004c	// 23f8 <ADC12_Configure_VREF_Selecte+0x168>
    23d4:	32f0      	movi      	r2, 240
    23d6:	9320      	ld.w      	r1, (r3, 0x0)
    23d8:	9160      	ld.w      	r3, (r1, 0x0)
    23da:	4248      	lsli      	r2, r2, 8
    23dc:	68c9      	andn      	r3, r2
    23de:	3baf      	bseti      	r3, 15
    23e0:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    23e2:	1028      	lrw      	r1, 0x30503c0	// 2400 <ADC12_Configure_VREF_Selecte+0x170>
    23e4:	1063      	lrw      	r3, 0x20000050	// 23f0 <ADC12_Configure_VREF_Selecte+0x160>
    23e6:	9340      	ld.w      	r2, (r3, 0x0)
    23e8:	9264      	ld.w      	r3, (r2, 0x10)
    23ea:	68c5      	andn      	r3, r1
    23ec:	1028      	lrw      	r1, 0x40300	// 240c <ADC12_Configure_VREF_Selecte+0x17c>
    23ee:	078d      	br      	0x2308	// 2308 <ADC12_Configure_VREF_Selecte+0x78>
    23f0:	20000050 	.long	0x20000050
    23f4:	030103c0 	.long	0x030103c0
    23f8:	2000004c 	.long	0x2000004c
    23fc:	030000c0 	.long	0x030000c0
    2400:	030503c0 	.long	0x030503c0
    2404:	01000280 	.long	0x01000280
    2408:	030002c0 	.long	0x030002c0
    240c:	00040300 	.long	0x00040300

Disassembly of section .text.ADC12_ConversionChannel_Config:

00002410 <ADC12_ConversionChannel_Config>:
//ADC12_ADCINX:ADC12_ADCIN0~ADC12_ADCIN17,ADC12_INTVREF,ADC12_DIV4_VDD,ADC12_VSS
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_ConversionChannel_Config(ADC12_InputSet_TypeDef ADC12_ADCINX ,
						ADC12_CV_RepeatNum_TypeDef CV_RepeatTime, ADC12_Control_TypeDef AVG_Set, U8_T SEQx)
{
    2410:	14d4      	push      	r4-r7, r15
	switch(ADC12_ADCINX)
    2412:	380f      	cmphsi      	r0, 16
{
    2414:	6d83      	mov      	r6, r0
	switch(ADC12_ADCINX)
    2416:	0824      	bt      	0x245e	// 245e <ADC12_ConversionChannel_Config+0x4e>
    2418:	12b4      	lrw      	r5, 0x2000004c	// 2568 <ADC12_ConversionChannel_Config+0x158>
    241a:	1295      	lrw      	r4, 0x20000048	// 256c <ADC12_ConversionChannel_Config+0x15c>
    241c:	e3ffeeca 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    2420:	322c1408 	.long	0x322c1408
    2424:	4d474039 	.long	0x4d474039
    2428:	756d6559 	.long	0x756d6559
    242c:	9990877e 	.long	0x9990877e
	{
		case 0:	
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC0 PB0.1
    2430:	9500      	ld.w      	r0, (r5, 0x0)
    2432:	90a0      	ld.w      	r5, (r0, 0x0)
    2434:	b0a0      	st.w      	r5, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    2436:	90a1      	ld.w      	r5, (r0, 0x4)
    2438:	b0a1      	st.w      	r5, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F)  | 0x00000010;			
    243a:	9480      	ld.w      	r4, (r4, 0x0)
    243c:	9400      	ld.w      	r0, (r4, 0x0)
    243e:	35f0      	movi      	r5, 240
    2440:	6815      	andn      	r0, r5
    2442:	38a4      	bseti      	r0, 4
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFFF)  | 0x00000000;		
			break;
		case 15:
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC15 PB0.0
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000001;		
    2444:	b400      	st.w      	r0, (r4, 0x0)
			break;
    2446:	040c      	br      	0x245e	// 245e <ADC12_ConversionChannel_Config+0x4e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0)  | 0x00000001;							//ADC1 PA0.0
    2448:	95a0      	ld.w      	r5, (r5, 0x0)
    244a:	9500      	ld.w      	r0, (r5, 0x0)
    244c:	370f      	movi      	r7, 15
    244e:	681d      	andn      	r0, r7
    2450:	38a0      	bseti      	r0, 0
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x10000000;							//ADC6 PA0.7
    2452:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    2454:	9501      	ld.w      	r0, (r5, 0x4)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00100000;	
    2456:	b501      	st.w      	r0, (r5, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFFF)  | 0x00000000;		
    2458:	9400      	ld.w      	r0, (r4, 0x0)
    245a:	9080      	ld.w      	r4, (r0, 0x0)
    245c:	b080      	st.w      	r4, (r0, 0x0)
    245e:	1205      	lrw      	r0, 0x20000050	// 2570 <ADC12_ConversionChannel_Config+0x160>
    2460:	4362      	lsli      	r3, r3, 2
    2462:	9000      	ld.w      	r0, (r0, 0x0)
    2464:	60c0      	addu      	r3, r0
		//case 27: break;
		case 0x1Cul: break;
		case 0x1Dul: break;
		case 0x1Eul: break;
	}
	ADC0->SEQ[SEQx] = ADC0->SEQ[SEQx] & 0;
    2466:	930c      	ld.w      	r0, (r3, 0x30)
    2468:	3000      	movi      	r0, 0
    246a:	b30c      	st.w      	r0, (r3, 0x30)
	ADC0->SEQ[SEQx] = ADC0->SEQ[SEQx] | ADC12_ADCINX  | CV_RepeatTime | AVG_Set;
    246c:	6c48      	or      	r1, r2
    246e:	930c      	ld.w      	r0, (r3, 0x30)
    2470:	6c58      	or      	r1, r6
    2472:	6c40      	or      	r1, r0
    2474:	b32c      	st.w      	r1, (r3, 0x30)
}
    2476:	1494      	pop      	r4-r7, r15
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F)  | 0x00000010;							//ADC2 PA0.1
    2478:	95a0      	ld.w      	r5, (r5, 0x0)
    247a:	9500      	ld.w      	r0, (r5, 0x0)
    247c:	37f0      	movi      	r7, 240
    247e:	681d      	andn      	r0, r7
    2480:	38a4      	bseti      	r0, 4
    2482:	07e8      	br      	0x2452	// 2452 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00001000;							//ADC3 PA0.3
    2484:	95a0      	ld.w      	r5, (r5, 0x0)
    2486:	37f0      	movi      	r7, 240
    2488:	9500      	ld.w      	r0, (r5, 0x0)
    248a:	47e8      	lsli      	r7, r7, 8
    248c:	681d      	andn      	r0, r7
    248e:	38ac      	bseti      	r0, 12
    2490:	07e1      	br      	0x2452	// 2452 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00100000;							//ADC4 PA0.5
    2492:	95a0      	ld.w      	r5, (r5, 0x0)
    2494:	37f0      	movi      	r7, 240
    2496:	9500      	ld.w      	r0, (r5, 0x0)
    2498:	47f0      	lsli      	r7, r7, 16
    249a:	681d      	andn      	r0, r7
    249c:	38b4      	bseti      	r0, 20
    249e:	07da      	br      	0x2452	// 2452 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF)  | 0x01000000;							//ADC5 PA0.6
    24a0:	95a0      	ld.w      	r5, (r5, 0x0)
    24a2:	37f0      	movi      	r7, 240
    24a4:	9500      	ld.w      	r0, (r5, 0x0)
    24a6:	47f4      	lsli      	r7, r7, 20
    24a8:	681d      	andn      	r0, r7
    24aa:	38b8      	bseti      	r0, 24
    24ac:	07d3      	br      	0x2452	// 2452 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x10000000;							//ADC6 PA0.7
    24ae:	95a0      	ld.w      	r5, (r5, 0x0)
    24b0:	9500      	ld.w      	r0, (r5, 0x0)
    24b2:	4004      	lsli      	r0, r0, 4
    24b4:	4804      	lsri      	r0, r0, 4
    24b6:	38bc      	bseti      	r0, 28
    24b8:	07cd      	br      	0x2452	// 2452 <ADC12_ConversionChannel_Config+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC7 PB0.2
    24ba:	9500      	ld.w      	r0, (r5, 0x0)
    24bc:	90a0      	ld.w      	r5, (r0, 0x0)
    24be:	b0a0      	st.w      	r5, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    24c0:	90a1      	ld.w      	r5, (r0, 0x4)
    24c2:	b0a1      	st.w      	r5, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000100;
    24c4:	9480      	ld.w      	r4, (r4, 0x0)
    24c6:	35f0      	movi      	r5, 240
    24c8:	9400      	ld.w      	r0, (r4, 0x0)
    24ca:	45a4      	lsli      	r5, r5, 4
    24cc:	6815      	andn      	r0, r5
    24ce:	38a8      	bseti      	r0, 8
    24d0:	07ba      	br      	0x2444	// 2444 <ADC12_ConversionChannel_Config+0x34>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC8 PB0.3
    24d2:	9500      	ld.w      	r0, (r5, 0x0)
    24d4:	90a0      	ld.w      	r5, (r0, 0x0)
    24d6:	b0a0      	st.w      	r5, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    24d8:	90a1      	ld.w      	r5, (r0, 0x4)
    24da:	b0a1      	st.w      	r5, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)  | 0x00001000;
    24dc:	9480      	ld.w      	r4, (r4, 0x0)
    24de:	35f0      	movi      	r5, 240
    24e0:	9400      	ld.w      	r0, (r4, 0x0)
    24e2:	45a8      	lsli      	r5, r5, 8
    24e4:	6815      	andn      	r0, r5
    24e6:	38ac      	bseti      	r0, 12
    24e8:	07ae      	br      	0x2444	// 2444 <ADC12_ConversionChannel_Config+0x34>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC9 PA0.8
    24ea:	95a0      	ld.w      	r5, (r5, 0x0)
    24ec:	9500      	ld.w      	r0, (r5, 0x0)
    24ee:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0)  | 0x00000001;	
    24f0:	9501      	ld.w      	r0, (r5, 0x4)
    24f2:	370f      	movi      	r7, 15
    24f4:	681d      	andn      	r0, r7
    24f6:	38a0      	bseti      	r0, 0
    24f8:	07af      	br      	0x2456	// 2456 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC10 PA0.9
    24fa:	95a0      	ld.w      	r5, (r5, 0x0)
    24fc:	9500      	ld.w      	r0, (r5, 0x0)
    24fe:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFF0F)  | 0x00000010;	
    2500:	9501      	ld.w      	r0, (r5, 0x4)
    2502:	37f0      	movi      	r7, 240
    2504:	681d      	andn      	r0, r7
    2506:	38a4      	bseti      	r0, 4
    2508:	07a7      	br      	0x2456	// 2456 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC11 PA0.10
    250a:	95a0      	ld.w      	r5, (r5, 0x0)
    250c:	9500      	ld.w      	r0, (r5, 0x0)
    250e:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFF0FF)  | 0x00000100;	
    2510:	37f0      	movi      	r7, 240
    2512:	9501      	ld.w      	r0, (r5, 0x4)
    2514:	47e4      	lsli      	r7, r7, 4
    2516:	681d      	andn      	r0, r7
    2518:	38a8      	bseti      	r0, 8
    251a:	079e      	br      	0x2456	// 2456 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC12 PA0.11
    251c:	95a0      	ld.w      	r5, (r5, 0x0)
    251e:	9500      	ld.w      	r0, (r5, 0x0)
    2520:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFF0FFF)  | 0x00001000;	
    2522:	37f0      	movi      	r7, 240
    2524:	9501      	ld.w      	r0, (r5, 0x4)
    2526:	47e8      	lsli      	r7, r7, 8
    2528:	681d      	andn      	r0, r7
    252a:	38ac      	bseti      	r0, 12
    252c:	0795      	br      	0x2456	// 2456 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC13 PA0.12
    252e:	95a0      	ld.w      	r5, (r5, 0x0)
    2530:	9500      	ld.w      	r0, (r5, 0x0)
    2532:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)  | 0x00010000;	
    2534:	37f0      	movi      	r7, 240
    2536:	9501      	ld.w      	r0, (r5, 0x4)
    2538:	47ec      	lsli      	r7, r7, 12
    253a:	681d      	andn      	r0, r7
    253c:	38b0      	bseti      	r0, 16
    253e:	078c      	br      	0x2456	// 2456 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC14 PA0.13	
    2540:	95a0      	ld.w      	r5, (r5, 0x0)
    2542:	9500      	ld.w      	r0, (r5, 0x0)
    2544:	b500      	st.w      	r0, (r5, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00100000;	
    2546:	37f0      	movi      	r7, 240
    2548:	9501      	ld.w      	r0, (r5, 0x4)
    254a:	47f0      	lsli      	r7, r7, 16
    254c:	681d      	andn      	r0, r7
    254e:	38b4      	bseti      	r0, 20
    2550:	0783      	br      	0x2456	// 2456 <ADC12_ConversionChannel_Config+0x46>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC15 PB0.0
    2552:	9500      	ld.w      	r0, (r5, 0x0)
    2554:	90a0      	ld.w      	r5, (r0, 0x0)
    2556:	b0a0      	st.w      	r5, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    2558:	90a1      	ld.w      	r5, (r0, 0x4)
    255a:	b0a1      	st.w      	r5, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000001;		
    255c:	9480      	ld.w      	r4, (r4, 0x0)
    255e:	9400      	ld.w      	r0, (r4, 0x0)
    2560:	350f      	movi      	r5, 15
    2562:	6815      	andn      	r0, r5
    2564:	38a0      	bseti      	r0, 0
    2566:	076f      	br      	0x2444	// 2444 <ADC12_ConversionChannel_Config+0x34>
    2568:	2000004c 	.long	0x2000004c
    256c:	20000048 	.long	0x20000048
    2570:	20000050 	.long	0x20000050

Disassembly of section .text.Page_ProgramData3:

00002574 <Page_ProgramData3>:
	while(IFC->RISR!=RGM_END_INT);			//等待操作完成
}


void Page_ProgramData3(unsigned int FlashAdd,unsigned int DataSize,volatile unsigned int Data)
{
    2574:	14c1      	push      	r4
    2576:	1421      	subi      	r14, r14, 4
	int i;

	//页缓存擦除 1
	SetUserKey;
    2578:	107e      	lrw      	r3, 0x2000005c	// 25f0 <Page_ProgramData3+0x7c>
    257a:	9360      	ld.w      	r3, (r3, 0x0)
{
    257c:	b840      	st.w      	r2, (r14, 0x0)
	SetUserKey;
    257e:	105e      	lrw      	r2, 0x5a5a5a5a	// 25f4 <Page_ProgramData3+0x80>
    2580:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x07;					//页缓存擦除
    2582:	3207      	movi      	r2, 7
    2584:	b343      	st.w      	r2, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;
	IFC->CR=0X01;					//Start Program
    2586:	3201      	movi      	r2, 1
	IFC->FM_ADDR=FlashAdd;
    2588:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    258a:	b344      	st.w      	r2, (r3, 0x10)
	while(IFC->CR!=0x0);			//等待操作完成
    258c:	9344      	ld.w      	r2, (r3, 0x10)
    258e:	3a40      	cmpnei      	r2, 0
    2590:	0bfe      	bt      	0x258c	// 258c <Page_ProgramData3+0x18>
    2592:	4122      	lsli      	r1, r1, 2
    2594:	6040      	addu      	r1, r0
    2596:	6c83      	mov      	r2, r0
	//向写缓存中写数据 2
	
	for(i=0;i<DataSize;i++)   //sizeof structure
    2598:	644a      	cmpne      	r2, r1
    259a:	0826      	bt      	0x25e6	// 25e6 <Page_ProgramData3+0x72>
		*(volatile unsigned int *)(FlashAdd+4*i) = Data;
	}
	
	//预编程操作设定 3
	SetUserKey;
	IFC->CMR=0x06;					//预编程操作设定
    259c:	3106      	movi      	r1, 6
	SetUserKey;
    259e:	1056      	lrw      	r2, 0x5a5a5a5a	// 25f4 <Page_ProgramData3+0x80>
    25a0:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x06;					//预编程操作设定
    25a2:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;
	IFC->CR=0X01;					//Start Program
    25a4:	3101      	movi      	r1, 1
	IFC->FM_ADDR=FlashAdd;
    25a6:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    25a8:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->CR!=0x0);			//等待操作完成
    25aa:	9324      	ld.w      	r1, (r3, 0x10)
    25ac:	3940      	cmpnei      	r1, 0
    25ae:	0bfe      	bt      	0x25aa	// 25aa <Page_ProgramData3+0x36>
	//执行预编程 4
	SetUserKey;
    25b0:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x01;					//执行预编程
    25b2:	3201      	movi      	r2, 1
    25b4:	b343      	st.w      	r2, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;			//
    25b6:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    25b8:	b344      	st.w      	r2, (r3, 0x10)
	while(IFC->RISR!=PEP_END_INT);			//等待操作完成
    25ba:	934a      	ld.w      	r2, (r3, 0x28)
    25bc:	3a44      	cmpnei      	r2, 4
    25be:	0bfe      	bt      	0x25ba	// 25ba <Page_ProgramData3+0x46>
	//页擦除 5
	SetUserKey;
	IFC->CMR=0x02;					//页擦除
    25c0:	3102      	movi      	r1, 2
	SetUserKey;
    25c2:	104d      	lrw      	r2, 0x5a5a5a5a	// 25f4 <Page_ProgramData3+0x80>
    25c4:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x02;					//页擦除
    25c6:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;			//
	IFC->CR=0X01;					//Start Program
    25c8:	3101      	movi      	r1, 1
	IFC->FM_ADDR=FlashAdd;			//
    25ca:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    25cc:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->RISR!=ERS_END_INT);			//等待操作完成
    25ce:	932a      	ld.w      	r1, (r3, 0x28)
    25d0:	3941      	cmpnei      	r1, 1
    25d2:	0bfe      	bt      	0x25ce	// 25ce <Page_ProgramData3+0x5a>
	//将页缓存的数据写入闪存中 6
	SetUserKey;
    25d4:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x01;					//将页缓存的数据写入闪存中
    25d6:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;		//
    25d8:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    25da:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->RISR!=RGM_END_INT);			//等待操作完成
    25dc:	934a      	ld.w      	r2, (r3, 0x28)
    25de:	3a42      	cmpnei      	r2, 2
    25e0:	0bfe      	bt      	0x25dc	// 25dc <Page_ProgramData3+0x68>
}
    25e2:	1401      	addi      	r14, r14, 4
    25e4:	1481      	pop      	r4
		*(volatile unsigned int *)(FlashAdd+4*i) = Data;
    25e6:	9880      	ld.w      	r4, (r14, 0x0)
    25e8:	b280      	st.w      	r4, (r2, 0x0)
    25ea:	2203      	addi      	r2, 4
    25ec:	07d6      	br      	0x2598	// 2598 <Page_ProgramData3+0x24>
    25ee:	0000      	bkpt
    25f0:	2000005c 	.long	0x2000005c
    25f4:	5a5a5a5a 	.long	0x5a5a5a5a

Disassembly of section .text.ReadDataArry2:

000025f8 <ReadDataArry2>:
		RdStartAdd +=4;
		DataArryPoint +=4;
	}
}
void ReadDataArry2(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned int *DataArryPoint)
{
    25f8:	14c1      	push      	r4
    25fa:	600a      	subu      	r0, r2
	unsigned int i,Buffer;
	//delay_nms(1);
	for(i=0;i<DataLength;i++)
    25fc:	3300      	movi      	r3, 0
    25fe:	644e      	cmpne      	r3, r1
    2600:	0802      	bt      	0x2604	// 2604 <ReadDataArry2+0xc>
		Buffer = *(volatile unsigned int *)RdStartAdd;
		*DataArryPoint = Buffer;
		RdStartAdd += 4;
		DataArryPoint += 1;
	}
}
    2602:	1481      	pop      	r4
    2604:	5a80      	addu      	r4, r2, r0
		Buffer = *(volatile unsigned int *)RdStartAdd;
    2606:	9480      	ld.w      	r4, (r4, 0x0)
		*DataArryPoint = Buffer;
    2608:	b280      	st.w      	r4, (r2, 0x0)
	for(i=0;i<DataLength;i++)
    260a:	2300      	addi      	r3, 1
		DataArryPoint += 1;
    260c:	2203      	addi      	r2, 4
    260e:	07f8      	br      	0x25fe	// 25fe <ReadDataArry2+0x6>

Disassembly of section .text.delay_nms:

00002610 <delay_nms>:
//software delay
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void delay_nms(unsigned int t)
{
    2610:	14d0      	push      	r15
    2612:	1423      	subi      	r14, r14, 12
    volatile unsigned int i,j ,k=0;
    j = 50* t;
    2614:	3232      	movi      	r2, 50
    volatile unsigned int i,j ,k=0;
    2616:	3300      	movi      	r3, 0
    j = 50* t;
    2618:	7c08      	mult      	r0, r2
    volatile unsigned int i,j ,k=0;
    261a:	b862      	st.w      	r3, (r14, 0x8)
    j = 50* t;
    261c:	b801      	st.w      	r0, (r14, 0x4)
    for ( i = 0; i < j; i++ )
    261e:	b860      	st.w      	r3, (r14, 0x0)
    2620:	9840      	ld.w      	r2, (r14, 0x0)
    2622:	9861      	ld.w      	r3, (r14, 0x4)
    2624:	64c8      	cmphs      	r2, r3
    2626:	0c03      	bf      	0x262c	// 262c <delay_nms+0x1c>
    {
        k++;
		SYSCON_IWDCNT_Reload(); 
    }
}
    2628:	1403      	addi      	r14, r14, 12
    262a:	1490      	pop      	r15
        k++;
    262c:	9862      	ld.w      	r3, (r14, 0x8)
    262e:	2300      	addi      	r3, 1
    2630:	b862      	st.w      	r3, (r14, 0x8)
		SYSCON_IWDCNT_Reload(); 
    2632:	e3fff971 	bsr      	0x1914	// 1914 <SYSCON_IWDCNT_Reload>
    for ( i = 0; i < j; i++ )
    2636:	9860      	ld.w      	r3, (r14, 0x0)
    2638:	2300      	addi      	r3, 1
    263a:	07f2      	br      	0x261e	// 261e <delay_nms+0xe>

Disassembly of section .text.CORET_CONFIG:

0000263c <CORET_CONFIG>:
//CORET Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void CORET_CONFIG(void)
{
    263c:	14d0      	push      	r15
	CORET_DeInit();
    263e:	e3fff9d5 	bsr      	0x19e8	// 19e8 <CORET_DeInit>
	SYSCON_General_CMD(ENABLE,ENDIS_SYSTICK);
    2642:	3180      	movi      	r1, 128
    2644:	4124      	lsli      	r1, r1, 4
    2646:	3001      	movi      	r0, 1
    2648:	e3fff8e6 	bsr      	0x1814	// 1814 <SYSCON_General_CMD>
	CK801->CORET_RVR=59999;	//2ms: 11999     			//CORETCLK=sysclock/8=48M/8=6Mhz  e.g:10ms=(CORET_RVR+1)*(8/48M);CORET_RVR=60000-1=59999
    264c:	1069      	lrw      	r3, 0x20000060	// 2670 <CORET_CONFIG+0x34>
    264e:	104a      	lrw      	r2, 0xea5f	// 2674 <CORET_CONFIG+0x38>
    2650:	9360      	ld.w      	r3, (r3, 0x0)
    2652:	b345      	st.w      	r2, (r3, 0x14)
	CORET_reload();																
    2654:	e3fffa02 	bsr      	0x1a58	// 1a58 <CORET_reload>
	CORET_CLKSOURCE_EX();								//use ex clock
    2658:	e3fff9f0 	bsr      	0x1a38	// 1a38 <CORET_CLKSOURCE_EX>
	CORET_TICKINT_Enable();								//clear CORET counter
    265c:	e3fff9f6 	bsr      	0x1a48	// 1a48 <CORET_TICKINT_Enable>
	CORET_stop();	
    2660:	e3fff9e4 	bsr      	0x1a28	// 1a28 <CORET_stop>
	
	CORET_start();
    2664:	e3fff9da 	bsr      	0x1a18	// 1a18 <CORET_start>
	CORET_Int_Enable();
    2668:	e3fff9cc 	bsr      	0x1a00	// 1a00 <CORET_Int_Enable>
	//CORET_WakeUp_Enable();									
}
    266c:	1490      	pop      	r15
    266e:	0000      	bkpt
    2670:	20000060 	.long	0x20000060
    2674:	0000ea5f 	.long	0x0000ea5f

Disassembly of section .text.I2C_SLAVE_CONFIG:

00002678 <I2C_SLAVE_CONFIG>:
//IIC SLAVER Initial
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void I2C_SLAVE_CONFIG(void)
{
    2678:	14d0      	push      	r15
    267a:	1423      	subi      	r14, r14, 12
	I2C_DeInit();
    267c:	e3fffba8 	bsr      	0x1dcc	// 1dcc <I2C_DeInit>
	I2C_Slave_CONFIG(I2C_SDA_PA07,I2C_SCL_PA01,FAST_MODE,I2C_SLAVE_7BIT,0X57,0X50,0X50);//从机地址不能设置为0x00~0x07,0x78~0x7f
    2680:	3350      	movi      	r3, 80
    2682:	b862      	st.w      	r3, (r14, 0x8)
    2684:	b861      	st.w      	r3, (r14, 0x4)
    2686:	3357      	movi      	r3, 87
    2688:	b860      	st.w      	r3, (r14, 0x0)
    268a:	3204      	movi      	r2, 4
    268c:	3300      	movi      	r3, 0
    268e:	3102      	movi      	r1, 2
    2690:	3002      	movi      	r0, 2
    2692:	e3fffba9 	bsr      	0x1de4	// 1de4 <I2C_Slave_CONFIG>
	I2C_SDA_TSETUP_THOLD_CONFIG(0x40,0x40,0x40);
    2696:	3240      	movi      	r2, 64
    2698:	3140      	movi      	r1, 64
    269a:	3040      	movi      	r0, 64
    269c:	e3fffc42 	bsr      	0x1f20	// 1f20 <I2C_SDA_TSETUP_THOLD_CONFIG>
	I2C_FIFO_TriggerData(0,0);															//发送FIFO设置为7
    26a0:	3100      	movi      	r1, 0
    26a2:	3000      	movi      	r0, 0
    26a4:	e3fffc56 	bsr      	0x1f50	// 1f50 <I2C_FIFO_TriggerData>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_SCL_SLOW);
    26a8:	3180      	movi      	r1, 128
    26aa:	4127      	lsli      	r1, r1, 7
    26ac:	3001      	movi      	r0, 1
    26ae:	e3fffc43 	bsr      	0x1f34	// 1f34 <I2C_ConfigInterrupt_CMD>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_STOP_DET);
    26b2:	3180      	movi      	r1, 128
    26b4:	4122      	lsli      	r1, r1, 2
    26b6:	3001      	movi      	r0, 1
    26b8:	e3fffc3e 	bsr      	0x1f34	// 1f34 <I2C_ConfigInterrupt_CMD>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_RD_REQ);
    26bc:	3120      	movi      	r1, 32
    26be:	3001      	movi      	r0, 1
    26c0:	e3fffc3a 	bsr      	0x1f34	// 1f34 <I2C_ConfigInterrupt_CMD>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_RX_FULL);
    26c4:	3104      	movi      	r1, 4
    26c6:	3001      	movi      	r0, 1
    26c8:	e3fffc36 	bsr      	0x1f34	// 1f34 <I2C_ConfigInterrupt_CMD>
	I2C_ConfigInterrupt_CMD(ENABLE,I2C_TX_ABRT);
    26cc:	3140      	movi      	r1, 64
    26ce:	3001      	movi      	r0, 1
    26d0:	e3fffc32 	bsr      	0x1f34	// 1f34 <I2C_ConfigInterrupt_CMD>
	I2C_Enable();
    26d4:	e3fffc46 	bsr      	0x1f60	// 1f60 <I2C_Enable>
	I2C_Int_Enable();
    26d8:	e3fffc5c 	bsr      	0x1f90	// 1f90 <I2C_Int_Enable>
	
}
    26dc:	1403      	addi      	r14, r14, 12
    26de:	1490      	pop      	r15

Disassembly of section .text.ADC12_CONFIG:

000026e0 <ADC12_CONFIG>:
//adc config
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void ADC12_CONFIG(void)
{
    26e0:	14d0      	push      	r15
    26e2:	1422      	subi      	r14, r14, 8
	ADC12_RESET_VALUE(); //ADC 所有寄存器复位赋值
    26e4:	e3fffd12 	bsr      	0x2108	// 2108 <ADC12_RESET_VALUE>
	ADC12_CLK_CMD(ADC_CLK_CR , ENABLE); //使能 ADC CLK
    26e8:	3101      	movi      	r1, 1
    26ea:	3002      	movi      	r0, 2
    26ec:	e3fffd58 	bsr      	0x219c	// 219c <ADC12_CLK_CMD>
    ADC12_Software_Reset(); //ADC 软件复位
    26f0:	e3fffd6c 	bsr      	0x21c8	// 21c8 <ADC12_Software_Reset>
	ADC12_Configure_Mode(ADC12_10BIT , Continuous_mode ,0, 30 ,2 , 6); //选择12BIT ADC; 连续模式; 转换优先序列寄存器为0; 采样保持时间=6 ;ADC_CLK=PCLK/2*2=0.2us; 转换序列个数为6
    26f4:	3306      	movi      	r3, 6
    26f6:	b861      	st.w      	r3, (r14, 0x4)
    26f8:	3302      	movi      	r3, 2
    26fa:	b860      	st.w      	r3, (r14, 0x0)
    26fc:	3200      	movi      	r2, 0
    26fe:	331e      	movi      	r3, 30
    2700:	3101      	movi      	r1, 1
    2702:	3000      	movi      	r0, 0
    2704:	e3fffd8e 	bsr      	0x2220	// 2220 <ADC12_Configure_Mode>
	ADC12_Configure_VREF_Selecte(ADC12_VREFP_VDD_VREFN_VSS); //VDD,VSS作为参考电压
    2708:	3000      	movi      	r0, 0
    270a:	e3fffdc3 	bsr      	0x2290	// 2290 <ADC12_Configure_VREF_Selecte>

	ADC12_ConversionChannel_Config(ADC_Channel_Switch,ADC12_CV_RepeatNum16,ADC12_AVGEN,0); //switch //ADC_Channel_Switch //转换序列0,选择ADCIN0通道, 6个转换周期, 连续重复采样次数为1平均值计算禁止
    270e:	3280      	movi      	r2, 128
    2710:	3184      	movi      	r1, 132
    2712:	3300      	movi      	r3, 0
    2714:	4245      	lsli      	r2, r2, 5
    2716:	4128      	lsli      	r1, r1, 8
    2718:	3009      	movi      	r0, 9
    271a:	e3fffe7b 	bsr      	0x2410	// 2410 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC_Channel_Oven,ADC12_CV_RepeatNum16,ADC12_AVGEN,1); //Oven //转换序列1,选择ADCIN1通道, 6个转换周期, 连续重复采样次数为1,平均值计算禁止
    271e:	3280      	movi      	r2, 128
    2720:	3184      	movi      	r1, 132
    2722:	3301      	movi      	r3, 1
    2724:	4245      	lsli      	r2, r2, 5
    2726:	4128      	lsli      	r1, r1, 8
    2728:	300c      	movi      	r0, 12
    272a:	e3fffe73 	bsr      	0x2410	// 2410 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC_Channel_Meat1,ADC12_CV_RepeatNum16,ADC12_AVGEN,2); //Probe1
    272e:	3280      	movi      	r2, 128
    2730:	3184      	movi      	r1, 132
    2732:	3302      	movi      	r3, 2
    2734:	4245      	lsli      	r2, r2, 5
    2736:	4128      	lsli      	r1, r1, 8
    2738:	300d      	movi      	r0, 13
    273a:	e3fffe6b 	bsr      	0x2410	// 2410 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC_Channel_Meat2,ADC12_CV_RepeatNum16,ADC12_AVGEN,3); //Probe2
    273e:	3280      	movi      	r2, 128
    2740:	3184      	movi      	r1, 132
    2742:	3303      	movi      	r3, 3
    2744:	4245      	lsli      	r2, r2, 5
    2746:	4128      	lsli      	r1, r1, 8
    2748:	3004      	movi      	r0, 4
    274a:	e3fffe63 	bsr      	0x2410	// 2410 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC12_DIV4_VDD,ADC12_CV_RepeatNum16,ADC12_AVGEN,4); //Div4 VDD 用于检测 电池电压检测
    274e:	3280      	movi      	r2, 128
    2750:	3184      	movi      	r1, 132
    2752:	3304      	movi      	r3, 4
    2754:	4245      	lsli      	r2, r2, 5
    2756:	4128      	lsli      	r1, r1, 8
    2758:	301d      	movi      	r0, 29
    275a:	e3fffe5b 	bsr      	0x2410	// 2410 <ADC12_ConversionChannel_Config>
	ADC12_ConversionChannel_Config(ADC12_INTVREF,ADC12_CV_RepeatNum16,ADC12_AVGEN,5); //INTVREF内部高精度电压参考源 1v: 1000mV / AD 作为参考值
    275e:	3280      	movi      	r2, 128
    2760:	3184      	movi      	r1, 132
    2762:	3305      	movi      	r3, 5
    2764:	4245      	lsli      	r2, r2, 5
    2766:	4128      	lsli      	r1, r1, 8
    2768:	301c      	movi      	r0, 28
    276a:	e3fffe53 	bsr      	0x2410	// 2410 <ADC12_ConversionChannel_Config>
		
	ADC12_CMD(ENABLE); //使能ADC模块
    276e:	3001      	movi      	r0, 1
    2770:	e3fffd32 	bsr      	0x21d4	// 21d4 <ADC12_CMD>
	ADC12_ready_wait(); //等待ADC模块配置完成
    2774:	e3fffd42 	bsr      	0x21f8	// 21f8 <ADC12_ready_wait>
	ADC12_Control(ADC12_START);
    2778:	3008      	movi      	r0, 8
    277a:	e3fffcfd 	bsr      	0x2174	// 2174 <ADC12_Control>
}
    277e:	1402      	addi      	r14, r14, 8
    2780:	1490      	pop      	r15

Disassembly of section .text.SYSCON_CONFIG:

00002782 <SYSCON_CONFIG>:
//syscon Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_CONFIG(void)
{
    2782:	14d0      	push      	r15
    2784:	1421      	subi      	r14, r14, 4
//------SYSTEM CLK AND PCLK FUNTION---------------------------/
	SYSCON_RST_VALUE();                                                         //SYSCON all register clr
    2786:	e3fff81b 	bsr      	0x17bc	// 17bc <SYSCON_RST_VALUE>
	SYSCON_General_CMD(ENABLE,ENDIS_ISOSC);
    278a:	3101      	movi      	r1, 1
    278c:	3001      	movi      	r0, 1
    278e:	e3fff843 	bsr      	0x1814	// 1814 <SYSCON_General_CMD>
	//EMOSC_OSTR_Config(0XAD,0X1f,EM_LFSEL_EN,EM_FLEN_EN,EM_FLSEL_10ns);			//EM_CNT=0X3FF,0xAD(36K),EM_GM=0,Low F modedisable,EM filter disable,if enable,cont set 5ns
	//SYSCON_General_CMD(ENABLE,ENDIS_EMOSC);
	SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_48M);									//HFOSC selected 48MHz
    2792:	3000      	movi      	r0, 0
    2794:	e3fff894 	bsr      	0x18bc	// 18bc <SYSCON_HFOSC_SELECTE>
	SystemCLK_HCLKDIV_PCLKDIV_Config(SYSCLK_HFOSC,HCLK_DIV_1,PCLK_DIV_1,HFOSC_48M);//system clock set, Hclk div ,Pclk div  set system clock=SystemCLK/Hclk div/Pclk div
    2798:	3180      	movi      	r1, 128
    279a:	3308      	movi      	r3, 8
    279c:	3200      	movi      	r2, 0
    279e:	4121      	lsli      	r1, r1, 1
    27a0:	3002      	movi      	r0, 2
    27a2:	e3fff851 	bsr      	0x1844	// 1844 <SystemCLK_HCLKDIV_PCLKDIV_Config>
//------------  WDT FUNTION  --------------------------------/
    SYSCON_IWDCNT_Config(IWDT_TIME_2S,IWDT_INTW_DIV_7);      					//WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S
    27a6:	3080      	movi      	r0, 128
    27a8:	3118      	movi      	r1, 24
    27aa:	4003      	lsli      	r0, r0, 3
    27ac:	e3fff8be 	bsr      	0x1928	// 1928 <SYSCON_IWDCNT_Config>
    SYSCON_WDT_CMD(ENABLE);                                                  	//enable WDT		
    27b0:	3001      	movi      	r0, 1
    27b2:	e3fff899 	bsr      	0x18e4	// 18e4 <SYSCON_WDT_CMD>
    SYSCON_IWDCNT_Reload();                                                   	//reload WDT
    27b6:	e3fff8af 	bsr      	0x1914	// 1914 <SYSCON_IWDCNT_Reload>
	//IWDT_Int_Enable();
//------------  WWDT FUNTION  --------------------------------/
	WWDT_CNT_Load(0xFF);
    27ba:	30ff      	movi      	r0, 255
    27bc:	e3fffae6 	bsr      	0x1d88	// 1d88 <WWDT_CNT_Load>
	WWDT_CONFIG(PCLK_4096_DIV0,0xFF,WWDT_DBGDIS);
    27c0:	3200      	movi      	r2, 0
    27c2:	31ff      	movi      	r1, 255
    27c4:	3000      	movi      	r0, 0
    27c6:	e3fffad5 	bsr      	0x1d70	// 1d70 <WWDT_CONFIG>
	WWDT_Int_Config(ENABLE);
    27ca:	3001      	movi      	r0, 1
    27cc:	e3fffae6 	bsr      	0x1d98	// 1d98 <WWDT_Int_Config>
	//WWDT_CMD(ENABLE);
//------------  CLO  --------------------------------/	
	//SYSCON_CLO_CONFIG(CLO_PA02);
	//SYSCON->OPT1=(SYSCON->OPT1&0XFFFF8000)|(0X01<<12)|(0X04<<8)|(0x00<<4);
//------------  LVD FUNTION  --------------------------------/ 
    SYSCON_LVD_Config(DISABLE_LVDEN,INTDET_LVL_3_3V,RSTDET_LVL_1_9V,DISABLE_LVD_INT,INTDET_POL_fall);   //LVD LVR Enable/Disable
    27d0:	3340      	movi      	r3, 64
    27d2:	3180      	movi      	r1, 128
    27d4:	b860      	st.w      	r3, (r14, 0x0)
    27d6:	3200      	movi      	r2, 0
    27d8:	3300      	movi      	r3, 0
    27da:	4123      	lsli      	r1, r1, 3
    27dc:	300a      	movi      	r0, 10
    27de:	e3fff8b1 	bsr      	0x1940	// 1940 <SYSCON_LVD_Config>
	
	//SYSCON->IMER =EM_EVTRG0_ST;
//------------  SYSCON Vector  --------------------------------/ 	
	//SYSCON_Int_Enable();    														//SYSCON VECTOR
	//SYSCON_WakeUp_Enable();    													//Enable WDT wakeup INT
}
    27e2:	1401      	addi      	r14, r14, 4
    27e4:	1490      	pop      	r15

Disassembly of section .text.APT32F102_init:

000027e8 <APT32F102_init>:
//ReturnValue:NONE                                                                /
/*********************************************************************************/
/*********************************************************************************/  
/*********************************************************************************/
void APT32F102_init(void) 
{
    27e8:	14d0      	push      	r15
//------------------------------------------------------------/
//Peripheral clock enable and disable
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON->PCER0=0xFFFFFFF;                                        //PCLK Enable  0x00410071
    27ea:	1069      	lrw      	r3, 0x20000058	// 280c <APT32F102_init+0x24>
    27ec:	1049      	lrw      	r2, 0xfffffff	// 2810 <APT32F102_init+0x28>
    27ee:	9360      	ld.w      	r3, (r3, 0x0)
    27f0:	b34a      	st.w      	r2, (r3, 0x28)
    SYSCON->PCER1=0xFFFFFFF;                                        //PCLK Enable
    27f2:	b34d      	st.w      	r2, (r3, 0x34)
    while(!(SYSCON->PCSR0&0x1));                                    //Wait PCLK enabled	
    27f4:	934c      	ld.w      	r2, (r3, 0x30)
    27f6:	3ac0      	btsti      	r2, 0
    27f8:	0ffe      	bf      	0x27f4	// 27f4 <APT32F102_init+0xc>
//------------------------------------------------------------/
//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON_CONFIG();                                                 //syscon  initial
    27fa:	e3ffffc4 	bsr      	0x2782	// 2782 <SYSCON_CONFIG>
	CK_CPU_EnAllNormalIrq();                                         //enable all IRQ
    27fe:	e0000443 	bsr      	0x3084	// 3084 <CK_CPU_EnAllNormalIrq>
//------------------------------------------------------------/
//Other IP config
//------------------------------------------------------------/
	//GPIO_CONFIG();                                                //GPIO initial    
	CORET_CONFIG();												//CORET initial 
    2802:	e3ffff1d 	bsr      	0x263c	// 263c <CORET_CONFIG>
	//SPI_SLAVE_CONFIG();											//SPI Slaver initial 
	//SIO_CONFIG();													//SIO initial
    //UART0_CONFIG();                                               //UART0 initial 
	//UART1_CONFIG();                                               //UART1 initial 
	//UART2_CONFIG();                                               //UART2 initial 
	ADC12_CONFIG();                                               //ADC initial 
    2806:	e3ffff6d 	bsr      	0x26e0	// 26e0 <ADC12_CONFIG>
	//IFC_CONFIG();
	//SYSCON_INT_Priority();
}
    280a:	1490      	pop      	r15
    280c:	20000058 	.long	0x20000058
    2810:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.CORETHandler:

00002814 <CORETHandler>:
//CORET Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORETHandler(void) 
{
    2814:	1460      	nie
    2816:	1462      	ipush
    2818:	14d0      	push      	r15
    // ISR content ...
	CK801->CORET_CVR = 0x0;							// Clear counter and flag
    281a:	1066      	lrw      	r3, 0x20000060	// 2830 <CORETHandler+0x1c>
    281c:	3200      	movi      	r2, 0
    281e:	9360      	ld.w      	r3, (r3, 0x0)
    2820:	b346      	st.w      	r2, (r3, 0x18)
	//nop;
	
	SysTick_IRQHandler();
    2822:	e0000a39 	bsr      	0x3c94	// 3c94 <SysTick_IRQHandler>
}
    2826:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    282a:	1401      	addi      	r14, r14, 4
    282c:	1463      	ipop
    282e:	1461      	nir
    2830:	20000060 	.long	0x20000060

Disassembly of section .text.SYSCONIntHandler:

00002834 <SYSCONIntHandler>:
//SYSCON Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCONIntHandler(void) 
{
    2834:	1460      	nie
    2836:	1462      	ipush
    // ISR content ...
	if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST)
    2838:	116f      	lrw      	r3, 0x20000058	// 28f4 <SYSCONIntHandler+0xc0>
    283a:	3280      	movi      	r2, 128
    283c:	9360      	ld.w      	r3, (r3, 0x0)
    283e:	60c8      	addu      	r3, r2
    2840:	9323      	ld.w      	r1, (r3, 0xc)
    2842:	39c0      	btsti      	r1, 0
    2844:	0c04      	bf      	0x284c	// 284c <SYSCONIntHandler+0x18>
	{
		SYSCON->ICR = ISOSC_ST;
    2846:	3201      	movi      	r2, 1
	{
		SYSCON->ICR = EM_EVTRG3_ST;
	}
	else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST)
	{
		SYSCON->ICR = CMD_ERR_ST;
    2848:	b341      	st.w      	r2, (r3, 0x4)
	}
}
    284a:	043d      	br      	0x28c4	// 28c4 <SYSCONIntHandler+0x90>
	else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST)
    284c:	9323      	ld.w      	r1, (r3, 0xc)
    284e:	39c1      	btsti      	r1, 1
    2850:	0c03      	bf      	0x2856	// 2856 <SYSCONIntHandler+0x22>
		SYSCON->ICR = IMOSC_ST;
    2852:	3202      	movi      	r2, 2
    2854:	07fa      	br      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST)
    2856:	9323      	ld.w      	r1, (r3, 0xc)
    2858:	39c3      	btsti      	r1, 3
    285a:	0c03      	bf      	0x2860	// 2860 <SYSCONIntHandler+0x2c>
		SYSCON->ICR = EMOSC_ST;
    285c:	3208      	movi      	r2, 8
    285e:	07f5      	br      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST)
    2860:	9323      	ld.w      	r1, (r3, 0xc)
    2862:	39c4      	btsti      	r1, 4
    2864:	0c03      	bf      	0x286a	// 286a <SYSCONIntHandler+0x36>
		SYSCON->ICR = HFOSC_ST;
    2866:	3210      	movi      	r2, 16
    2868:	07f0      	br      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST)
    286a:	9323      	ld.w      	r1, (r3, 0xc)
    286c:	39c7      	btsti      	r1, 7
    286e:	0bed      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST)
    2870:	9323      	ld.w      	r1, (r3, 0xc)
    2872:	3280      	movi      	r2, 128
    2874:	39c8      	btsti      	r1, 8
    2876:	4241      	lsli      	r2, r2, 1
    2878:	0be8      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST)
    287a:	9323      	ld.w      	r1, (r3, 0xc)
    287c:	3280      	movi      	r2, 128
    287e:	39c9      	btsti      	r1, 9
    2880:	4242      	lsli      	r2, r2, 2
    2882:	0be3      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST)
    2884:	9323      	ld.w      	r1, (r3, 0xc)
    2886:	3280      	movi      	r2, 128
    2888:	39ca      	btsti      	r1, 10
    288a:	4243      	lsli      	r2, r2, 3
    288c:	0bde      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST)
    288e:	9323      	ld.w      	r1, (r3, 0xc)
    2890:	3280      	movi      	r2, 128
    2892:	39cb      	btsti      	r1, 11
    2894:	4244      	lsli      	r2, r2, 4
    2896:	0bd9      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&HWD_ERR)==HWD_ERR)
    2898:	9343      	ld.w      	r2, (r3, 0xc)
    289a:	3acc      	btsti      	r2, 12
    289c:	3280      	movi      	r2, 128
    289e:	4245      	lsli      	r2, r2, 5
    28a0:	0bd4      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT)
    28a2:	9323      	ld.w      	r1, (r3, 0xc)
    28a4:	3280      	movi      	r2, 128
    28a6:	39ce      	btsti      	r1, 14
    28a8:	4247      	lsli      	r2, r2, 7
    28aa:	0bcf      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST)
    28ac:	9323      	ld.w      	r1, (r3, 0xc)
    28ae:	3280      	movi      	r2, 128
    28b0:	39d2      	btsti      	r1, 18
    28b2:	424b      	lsli      	r2, r2, 11
    28b4:	0bca      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST)
    28b6:	9323      	ld.w      	r1, (r3, 0xc)
    28b8:	3280      	movi      	r2, 128
    28ba:	39d3      	btsti      	r1, 19
    28bc:	424c      	lsli      	r2, r2, 12
    28be:	0c05      	bf      	0x28c8	// 28c8 <SYSCONIntHandler+0x94>
		SYSCON->ICR = EM_EVTRG0_ST;
    28c0:	b341      	st.w      	r2, (r3, 0x4)
		nop;
    28c2:	6c03      	mov      	r0, r0
}
    28c4:	1463      	ipop
    28c6:	1461      	nir
	else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST)
    28c8:	9323      	ld.w      	r1, (r3, 0xc)
    28ca:	3280      	movi      	r2, 128
    28cc:	39d4      	btsti      	r1, 20
    28ce:	424d      	lsli      	r2, r2, 13
    28d0:	0bbc      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST)
    28d2:	9323      	ld.w      	r1, (r3, 0xc)
    28d4:	3280      	movi      	r2, 128
    28d6:	39d5      	btsti      	r1, 21
    28d8:	424e      	lsli      	r2, r2, 14
    28da:	0bb7      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST)
    28dc:	9323      	ld.w      	r1, (r3, 0xc)
    28de:	3280      	movi      	r2, 128
    28e0:	39d6      	btsti      	r1, 22
    28e2:	424f      	lsli      	r2, r2, 15
    28e4:	0bb2      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
	else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST)
    28e6:	9323      	ld.w      	r1, (r3, 0xc)
    28e8:	3280      	movi      	r2, 128
    28ea:	39dd      	btsti      	r1, 29
    28ec:	4256      	lsli      	r2, r2, 22
    28ee:	0bad      	bt      	0x2848	// 2848 <SYSCONIntHandler+0x14>
    28f0:	07ea      	br      	0x28c4	// 28c4 <SYSCONIntHandler+0x90>
    28f2:	0000      	bkpt
    28f4:	20000058 	.long	0x20000058

Disassembly of section .text.IFCIntHandler:

000028f8 <IFCIntHandler>:
//IFC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void IFCIntHandler(void) 
{
    28f8:	1460      	nie
    28fa:	1462      	ipush
    28fc:	14c1      	push      	r4
    // ISR content ...
	//并行写模式
	if(IFC->MISR&ERS_END_INT)			//擦除指令完成
    28fe:	1170      	lrw      	r3, 0x2000005c	// 29bc <IFCIntHandler+0xc4>
    2900:	9360      	ld.w      	r3, (r3, 0x0)
    2902:	934b      	ld.w      	r2, (r3, 0x2c)
    2904:	3ac0      	btsti      	r2, 0
    2906:	0c16      	bf      	0x2932	// 2932 <IFCIntHandler+0x3a>
	{
		IFC->ICR=ERS_END_INT;
    2908:	3201      	movi      	r2, 1
    290a:	b34c      	st.w      	r2, (r3, 0x30)
		if((ifc_step==1)&&(f_Drom_writing==1))
    290c:	112d      	lrw      	r1, 0x2000039c	// 29c0 <IFCIntHandler+0xc8>
    290e:	8140      	ld.b      	r2, (r1, 0x0)
    2910:	3a41      	cmpnei      	r2, 1
    2912:	0822      	bt      	0x2956	// 2956 <IFCIntHandler+0x5e>
    2914:	114c      	lrw      	r2, 0x20000110	// 29c4 <IFCIntHandler+0xcc>
    2916:	8240      	ld.b      	r2, (r2, 0x0)
    2918:	7488      	zextb      	r2, r2
    291a:	3a41      	cmpnei      	r2, 1
    291c:	081d      	bt      	0x2956	// 2956 <IFCIntHandler+0x5e>
		{
			SetUserKey;
    291e:	110b      	lrw      	r0, 0x5a5a5a5a	// 29c8 <IFCIntHandler+0xd0>
    2920:	b308      	st.w      	r0, (r3, 0x20)
			IFC->CMR=0x01;					//将页缓存的数据写入闪存中
    2922:	b343      	st.w      	r2, (r3, 0xc)
			IFC->FM_ADDR=R_INT_FlashAdd;		//
    2924:	110a      	lrw      	r0, 0x20000398	// 29cc <IFCIntHandler+0xd4>
    2926:	9000      	ld.w      	r0, (r0, 0x0)
    2928:	b306      	st.w      	r0, (r3, 0x18)
			IFC->CR=0X01;					//Start Program
    292a:	b344      	st.w      	r2, (r3, 0x10)
			ifc_step=2;
    292c:	3302      	movi      	r3, 2
		{
			SetUserKey;
			IFC->CMR=0x02;					//页擦除
			IFC->FM_ADDR=R_INT_FlashAdd;			//
			IFC->CR=0X01;					//Start Program
			ifc_step=1;
    292e:	a160      	st.b      	r3, (r1, 0x0)
    2930:	0413      	br      	0x2956	// 2956 <IFCIntHandler+0x5e>
	else if(IFC->MISR&RGM_END_INT)		//编译指令完成
    2932:	934b      	ld.w      	r2, (r3, 0x2c)
    2934:	3ac1      	btsti      	r2, 1
    2936:	3002      	movi      	r0, 2
    2938:	0c13      	bf      	0x295e	// 295e <IFCIntHandler+0x66>
		IFC->ICR=RGM_END_INT;
    293a:	b30c      	st.w      	r0, (r3, 0x30)
		if((ifc_step==2)&&(f_Drom_writing==1))
    293c:	1161      	lrw      	r3, 0x2000039c	// 29c0 <IFCIntHandler+0xc8>
    293e:	8360      	ld.b      	r3, (r3, 0x0)
    2940:	3b42      	cmpnei      	r3, 2
    2942:	080a      	bt      	0x2956	// 2956 <IFCIntHandler+0x5e>
    2944:	1160      	lrw      	r3, 0x20000110	// 29c4 <IFCIntHandler+0xcc>
    2946:	8340      	ld.b      	r2, (r3, 0x0)
    2948:	3a41      	cmpnei      	r2, 1
    294a:	0806      	bt      	0x2956	// 2956 <IFCIntHandler+0x5e>
			f_Drom_writing=0;
    294c:	3200      	movi      	r2, 0
    294e:	a340      	st.b      	r2, (r3, 0x0)
			f_Drom_write_complete=1;
    2950:	3201      	movi      	r2, 1
    2952:	1160      	lrw      	r3, 0x20000111	// 29d0 <IFCIntHandler+0xd8>
    2954:	a340      	st.b      	r2, (r3, 0x0)
	}
	else if(IFC->MISR&OVW_ERR_INT)		//非法操作错误中断
	{
		IFC->ICR=OVW_ERR_INT;
	}
}
    2956:	9880      	ld.w      	r4, (r14, 0x0)
    2958:	1401      	addi      	r14, r14, 4
    295a:	1463      	ipop
    295c:	1461      	nir
	else if(IFC->MISR&PEP_END_INT)		//预编程指令完成
    295e:	934b      	ld.w      	r2, (r3, 0x2c)
    2960:	3ac2      	btsti      	r2, 2
    2962:	0c15      	bf      	0x298c	// 298c <IFCIntHandler+0x94>
		IFC->ICR=PEP_END_INT;
    2964:	3204      	movi      	r2, 4
    2966:	b34c      	st.w      	r2, (r3, 0x30)
		if((ifc_step==0)&&(f_Drom_writing==1))
    2968:	1036      	lrw      	r1, 0x2000039c	// 29c0 <IFCIntHandler+0xc8>
    296a:	8140      	ld.b      	r2, (r1, 0x0)
    296c:	3a40      	cmpnei      	r2, 0
    296e:	0bf4      	bt      	0x2956	// 2956 <IFCIntHandler+0x5e>
    2970:	1055      	lrw      	r2, 0x20000110	// 29c4 <IFCIntHandler+0xcc>
    2972:	8240      	ld.b      	r2, (r2, 0x0)
    2974:	7488      	zextb      	r2, r2
    2976:	3a41      	cmpnei      	r2, 1
    2978:	0bef      	bt      	0x2956	// 2956 <IFCIntHandler+0x5e>
			SetUserKey;
    297a:	1094      	lrw      	r4, 0x5a5a5a5a	// 29c8 <IFCIntHandler+0xd0>
    297c:	b388      	st.w      	r4, (r3, 0x20)
			IFC->CMR=0x02;					//页擦除
    297e:	b303      	st.w      	r0, (r3, 0xc)
			IFC->FM_ADDR=R_INT_FlashAdd;			//
    2980:	1013      	lrw      	r0, 0x20000398	// 29cc <IFCIntHandler+0xd4>
    2982:	9000      	ld.w      	r0, (r0, 0x0)
    2984:	b306      	st.w      	r0, (r3, 0x18)
			IFC->CR=0X01;					//Start Program
    2986:	b344      	st.w      	r2, (r3, 0x10)
			ifc_step=1;
    2988:	3301      	movi      	r3, 1
    298a:	07d2      	br      	0x292e	// 292e <IFCIntHandler+0x36>
	else if(IFC->MISR&PROT_ERR_INT)		//保护错误中断
    298c:	932b      	ld.w      	r1, (r3, 0x2c)
    298e:	3280      	movi      	r2, 128
    2990:	39cc      	btsti      	r1, 12
    2992:	4245      	lsli      	r2, r2, 5
    2994:	0c03      	bf      	0x299a	// 299a <IFCIntHandler+0xa2>
		IFC->ICR=OVW_ERR_INT;
    2996:	b34c      	st.w      	r2, (r3, 0x30)
}
    2998:	07df      	br      	0x2956	// 2956 <IFCIntHandler+0x5e>
	else if(IFC->MISR&UDEF_ERR_INT)		//未定义指令错误中断
    299a:	932b      	ld.w      	r1, (r3, 0x2c)
    299c:	3280      	movi      	r2, 128
    299e:	39cd      	btsti      	r1, 13
    29a0:	4246      	lsli      	r2, r2, 6
    29a2:	0bfa      	bt      	0x2996	// 2996 <IFCIntHandler+0x9e>
	else if(IFC->MISR&ADDR_ERR_INT)		//地址错误中断
    29a4:	932b      	ld.w      	r1, (r3, 0x2c)
    29a6:	3280      	movi      	r2, 128
    29a8:	39ce      	btsti      	r1, 14
    29aa:	4247      	lsli      	r2, r2, 7
    29ac:	0bf5      	bt      	0x2996	// 2996 <IFCIntHandler+0x9e>
	else if(IFC->MISR&OVW_ERR_INT)		//非法操作错误中断
    29ae:	932b      	ld.w      	r1, (r3, 0x2c)
    29b0:	3280      	movi      	r2, 128
    29b2:	39cf      	btsti      	r1, 15
    29b4:	4248      	lsli      	r2, r2, 8
    29b6:	0bf0      	bt      	0x2996	// 2996 <IFCIntHandler+0x9e>
    29b8:	07cf      	br      	0x2956	// 2956 <IFCIntHandler+0x5e>
    29ba:	0000      	bkpt
    29bc:	2000005c 	.long	0x2000005c
    29c0:	2000039c 	.long	0x2000039c
    29c4:	20000110 	.long	0x20000110
    29c8:	5a5a5a5a 	.long	0x5a5a5a5a
    29cc:	20000398 	.long	0x20000398
    29d0:	20000111 	.long	0x20000111

Disassembly of section .text.EPT0IntHandler:

000029d4 <EPT0IntHandler>:
//EPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EPT0IntHandler(void) 
{
    29d4:	1460      	nie
    29d6:	1462      	ipush
    29d8:	14d1      	push      	r4, r15
    // ISR content ...
	if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT)
    29da:	129b      	lrw      	r4, 0x20000020	// 2b44 <EPT0IntHandler+0x170>
    29dc:	3280      	movi      	r2, 128
    29de:	9460      	ld.w      	r3, (r4, 0x0)
    29e0:	60c8      	addu      	r3, r2
    29e2:	9335      	ld.w      	r1, (r3, 0x54)
    29e4:	39c0      	btsti      	r1, 0
    29e6:	0c04      	bf      	0x29ee	// 29ee <EPT0IntHandler+0x1a>
	{
		EPT0->ICR=EPT_TRGEV0_INT;
    29e8:	3201      	movi      	r2, 1
	{
		EPT0->ICR=EPT_CDD;
	}
	else if((EPT0->MISR&EPT_PEND)==EPT_PEND)
	{
		EPT0->ICR=EPT_PEND;
    29ea:	b357      	st.w      	r2, (r3, 0x5c)
    29ec:	0423      	br      	0x2a32	// 2a32 <EPT0IntHandler+0x5e>
	else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT)
    29ee:	9335      	ld.w      	r1, (r3, 0x54)
    29f0:	39c1      	btsti      	r1, 1
    29f2:	0c03      	bf      	0x29f8	// 29f8 <EPT0IntHandler+0x24>
		EPT0->ICR=EPT_TRGEV1_INT;
    29f4:	3202      	movi      	r2, 2
    29f6:	07fa      	br      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT)
    29f8:	9335      	ld.w      	r1, (r3, 0x54)
    29fa:	39c2      	btsti      	r1, 2
    29fc:	0c03      	bf      	0x2a02	// 2a02 <EPT0IntHandler+0x2e>
		EPT0->ICR=EPT_TRGEV2_INT;
    29fe:	3204      	movi      	r2, 4
    2a00:	07f5      	br      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT)
    2a02:	9335      	ld.w      	r1, (r3, 0x54)
    2a04:	39c3      	btsti      	r1, 3
    2a06:	0c03      	bf      	0x2a0c	// 2a0c <EPT0IntHandler+0x38>
		EPT0->ICR=EPT_TRGEV3_INT;
    2a08:	3208      	movi      	r2, 8
    2a0a:	07f0      	br      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0)
    2a0c:	9335      	ld.w      	r1, (r3, 0x54)
    2a0e:	39c4      	btsti      	r1, 4
    2a10:	0c1a      	bf      	0x2a44	// 2a44 <EPT0IntHandler+0x70>
		EPT0->ICR=EPT_CAP_LD0;
    2a12:	3210      	movi      	r2, 16
    2a14:	b357      	st.w      	r2, (r3, 0x5c)
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT);
    2a16:	3101      	movi      	r1, 1
    2a18:	3200      	movi      	r2, 0
    2a1a:	3000      	movi      	r0, 0
    2a1c:	e3fff7a2 	bsr      	0x1960	// 1960 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT);
    2a20:	3201      	movi      	r2, 1
    2a22:	3101      	movi      	r1, 1
    2a24:	3001      	movi      	r0, 1
    2a26:	e3fff79d 	bsr      	0x1960	// 1960 <EXTI_trigger_CMD>
		R_CMPA_BUF=EPT0->CMPA;			//低电平
    2a2a:	9460      	ld.w      	r3, (r4, 0x0)
    2a2c:	934b      	ld.w      	r2, (r3, 0x2c)
    2a2e:	1267      	lrw      	r3, 0x200003a8	// 2b48 <EPT0IntHandler+0x174>
		R_CMPB_BUF=EPT0->CMPB;			//周期计数值
    2a30:	b340      	st.w      	r2, (r3, 0x0)
	}
	//紧急中断
	if((EPT0->EMMISR&EPT_EP0_EMINT)==EPT_EP0_EMINT)
    2a32:	9460      	ld.w      	r3, (r4, 0x0)
    2a34:	3280      	movi      	r2, 128
    2a36:	60c8      	addu      	r3, r2
    2a38:	932b      	ld.w      	r1, (r3, 0x2c)
    2a3a:	39c0      	btsti      	r1, 0
    2a3c:	0c4d      	bf      	0x2ad6	// 2ad6 <EPT0IntHandler+0x102>
	{
		EPT0->EMICR=EPT_EP0_EMINT;
    2a3e:	3201      	movi      	r2, 1
	{
		EPT0->EMICR=EPT_MEM_FAULT_EMINT;
	}
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)
	{
		EPT0->EMICR=EPT_EOM_FAULT_EMINT;
    2a40:	b34d      	st.w      	r2, (r3, 0x34)
	}
}
    2a42:	047a      	br      	0x2b36	// 2b36 <EPT0IntHandler+0x162>
	else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1)
    2a44:	9335      	ld.w      	r1, (r3, 0x54)
    2a46:	39c5      	btsti      	r1, 5
    2a48:	0c11      	bf      	0x2a6a	// 2a6a <EPT0IntHandler+0x96>
		EPT0->ICR=EPT_CAP_LD1;
    2a4a:	3220      	movi      	r2, 32
    2a4c:	b357      	st.w      	r2, (r3, 0x5c)
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT);
    2a4e:	3101      	movi      	r1, 1
    2a50:	3200      	movi      	r2, 0
    2a52:	3001      	movi      	r0, 1
    2a54:	e3fff786 	bsr      	0x1960	// 1960 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT);
    2a58:	3201      	movi      	r2, 1
    2a5a:	3101      	movi      	r1, 1
    2a5c:	3000      	movi      	r0, 0
    2a5e:	e3fff781 	bsr      	0x1960	// 1960 <EXTI_trigger_CMD>
		R_CMPB_BUF=EPT0->CMPB;			//周期计数值
    2a62:	9460      	ld.w      	r3, (r4, 0x0)
    2a64:	934c      	ld.w      	r2, (r3, 0x30)
    2a66:	117a      	lrw      	r3, 0x200003a0	// 2b4c <EPT0IntHandler+0x178>
    2a68:	07e4      	br      	0x2a30	// 2a30 <EPT0IntHandler+0x5c>
	else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2)
    2a6a:	9335      	ld.w      	r1, (r3, 0x54)
    2a6c:	39c6      	btsti      	r1, 6
    2a6e:	0c03      	bf      	0x2a74	// 2a74 <EPT0IntHandler+0xa0>
		EPT0->ICR=EPT_CAP_LD2;
    2a70:	3240      	movi      	r2, 64
    2a72:	07bc      	br      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3)
    2a74:	9335      	ld.w      	r1, (r3, 0x54)
    2a76:	39c7      	btsti      	r1, 7
    2a78:	0bb9      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CAU)==EPT_CAU)
    2a7a:	9335      	ld.w      	r1, (r3, 0x54)
    2a7c:	3280      	movi      	r2, 128
    2a7e:	39c8      	btsti      	r1, 8
    2a80:	4241      	lsli      	r2, r2, 1
    2a82:	0bb4      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CAD)==EPT_CAD)
    2a84:	9355      	ld.w      	r2, (r3, 0x54)
    2a86:	3ac9      	btsti      	r2, 9
    2a88:	3280      	movi      	r2, 128
    2a8a:	4242      	lsli      	r2, r2, 2
    2a8c:	0baf      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CBU)==EPT_CBU)
    2a8e:	9335      	ld.w      	r1, (r3, 0x54)
    2a90:	3280      	movi      	r2, 128
    2a92:	39ca      	btsti      	r1, 10
    2a94:	4243      	lsli      	r2, r2, 3
    2a96:	0baa      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CBD)==EPT_CBD)
    2a98:	9335      	ld.w      	r1, (r3, 0x54)
    2a9a:	3280      	movi      	r2, 128
    2a9c:	39cb      	btsti      	r1, 11
    2a9e:	4244      	lsli      	r2, r2, 4
    2aa0:	0ba5      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CCU)==EPT_CCU)
    2aa2:	9335      	ld.w      	r1, (r3, 0x54)
    2aa4:	3280      	movi      	r2, 128
    2aa6:	39cc      	btsti      	r1, 12
    2aa8:	4245      	lsli      	r2, r2, 5
    2aaa:	0ba0      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CCD)==EPT_CCD)
    2aac:	9335      	ld.w      	r1, (r3, 0x54)
    2aae:	3280      	movi      	r2, 128
    2ab0:	39cd      	btsti      	r1, 13
    2ab2:	4246      	lsli      	r2, r2, 6
    2ab4:	0b9b      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CDU)==EPT_CDU)
    2ab6:	9335      	ld.w      	r1, (r3, 0x54)
    2ab8:	3280      	movi      	r2, 128
    2aba:	39ce      	btsti      	r1, 14
    2abc:	4247      	lsli      	r2, r2, 7
    2abe:	0b96      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_CDD)==EPT_CDD)
    2ac0:	9335      	ld.w      	r1, (r3, 0x54)
    2ac2:	3280      	movi      	r2, 128
    2ac4:	39cf      	btsti      	r1, 15
    2ac6:	4248      	lsli      	r2, r2, 8
    2ac8:	0b91      	bt      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->MISR&EPT_PEND)==EPT_PEND)
    2aca:	9335      	ld.w      	r1, (r3, 0x54)
    2acc:	3280      	movi      	r2, 128
    2ace:	39d0      	btsti      	r1, 16
    2ad0:	4249      	lsli      	r2, r2, 9
    2ad2:	0fb0      	bf      	0x2a32	// 2a32 <EPT0IntHandler+0x5e>
    2ad4:	078b      	br      	0x29ea	// 29ea <EPT0IntHandler+0x16>
	else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT)
    2ad6:	932b      	ld.w      	r1, (r3, 0x2c)
    2ad8:	39c1      	btsti      	r1, 1
    2ada:	0c03      	bf      	0x2ae0	// 2ae0 <EPT0IntHandler+0x10c>
		EPT0->EMICR=EPT_EP1_EMINT;
    2adc:	3202      	movi      	r2, 2
    2ade:	07b1      	br      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT)
    2ae0:	932b      	ld.w      	r1, (r3, 0x2c)
    2ae2:	39c2      	btsti      	r1, 2
    2ae4:	0c03      	bf      	0x2aea	// 2aea <EPT0IntHandler+0x116>
		EPT0->EMICR=EPT_EP2_EMINT;
    2ae6:	3204      	movi      	r2, 4
    2ae8:	07ac      	br      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT)
    2aea:	932b      	ld.w      	r1, (r3, 0x2c)
    2aec:	39c3      	btsti      	r1, 3
    2aee:	0c03      	bf      	0x2af4	// 2af4 <EPT0IntHandler+0x120>
		EPT0->EMICR=EPT_EP3_EMINT;
    2af0:	3208      	movi      	r2, 8
    2af2:	07a7      	br      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT)
    2af4:	932b      	ld.w      	r1, (r3, 0x2c)
    2af6:	39c4      	btsti      	r1, 4
    2af8:	0c03      	bf      	0x2afe	// 2afe <EPT0IntHandler+0x12a>
		EPT0->EMICR=EPT_EP4_EMINT;
    2afa:	3210      	movi      	r2, 16
    2afc:	07a2      	br      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT)
    2afe:	932b      	ld.w      	r1, (r3, 0x2c)
    2b00:	39c5      	btsti      	r1, 5
    2b02:	0c03      	bf      	0x2b08	// 2b08 <EPT0IntHandler+0x134>
		EPT0->EMICR=EPT_EP5_EMINT;
    2b04:	3220      	movi      	r2, 32
    2b06:	079d      	br      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT)
    2b08:	932b      	ld.w      	r1, (r3, 0x2c)
    2b0a:	39c6      	btsti      	r1, 6
    2b0c:	0c03      	bf      	0x2b12	// 2b12 <EPT0IntHandler+0x13e>
		EPT0->EMICR=EPT_EP6_EMINT;
    2b0e:	3240      	movi      	r2, 64
    2b10:	0798      	br      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT)
    2b12:	932b      	ld.w      	r1, (r3, 0x2c)
    2b14:	39c7      	btsti      	r1, 7
    2b16:	0b95      	bt      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT)
    2b18:	932b      	ld.w      	r1, (r3, 0x2c)
    2b1a:	3280      	movi      	r2, 128
    2b1c:	39c8      	btsti      	r1, 8
    2b1e:	4241      	lsli      	r2, r2, 1
    2b20:	0b90      	bt      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT)
    2b22:	934b      	ld.w      	r2, (r3, 0x2c)
    2b24:	3ac9      	btsti      	r2, 9
    2b26:	3280      	movi      	r2, 128
    2b28:	4242      	lsli      	r2, r2, 2
    2b2a:	0b8b      	bt      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)
    2b2c:	932b      	ld.w      	r1, (r3, 0x2c)
    2b2e:	3280      	movi      	r2, 128
    2b30:	39ca      	btsti      	r1, 10
    2b32:	4243      	lsli      	r2, r2, 3
    2b34:	0b86      	bt      	0x2a40	// 2a40 <EPT0IntHandler+0x6c>
}
    2b36:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    2b3a:	9880      	ld.w      	r4, (r14, 0x0)
    2b3c:	1402      	addi      	r14, r14, 8
    2b3e:	1463      	ipop
    2b40:	1461      	nir
    2b42:	0000      	bkpt
    2b44:	20000020 	.long	0x20000020
    2b48:	200003a8 	.long	0x200003a8
    2b4c:	200003a0 	.long	0x200003a0

Disassembly of section .text.WWDTHandler:

00002b50 <WWDTHandler>:
//WWDT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void WWDTHandler(void)
{
    2b50:	1460      	nie
    2b52:	1462      	ipush
    2b54:	14d2      	push      	r4-r5, r15
	WWDT->ICR=0X01;
    2b56:	10aa      	lrw      	r5, 0x20000010	// 2b7c <WWDTHandler+0x2c>
    2b58:	3401      	movi      	r4, 1
    2b5a:	9560      	ld.w      	r3, (r5, 0x0)
    2b5c:	b385      	st.w      	r4, (r3, 0x14)
	WWDT_CNT_Load(0xFF);
    2b5e:	30ff      	movi      	r0, 255
    2b60:	e3fff914 	bsr      	0x1d88	// 1d88 <WWDT_CNT_Load>
	if((WWDT->MISR&WWDT_EVI)==WWDT_EVI)
    2b64:	9560      	ld.w      	r3, (r5, 0x0)
    2b66:	9343      	ld.w      	r2, (r3, 0xc)
    2b68:	3ac0      	btsti      	r2, 0
    2b6a:	0c02      	bf      	0x2b6e	// 2b6e <WWDTHandler+0x1e>
	{
		WWDT->ICR = WWDT_EVI;
    2b6c:	b385      	st.w      	r4, (r3, 0x14)
	} 
}
    2b6e:	d9ee2002 	ld.w      	r15, (r14, 0x8)
    2b72:	98a1      	ld.w      	r5, (r14, 0x4)
    2b74:	9880      	ld.w      	r4, (r14, 0x0)
    2b76:	1403      	addi      	r14, r14, 12
    2b78:	1463      	ipop
    2b7a:	1461      	nir
    2b7c:	20000010 	.long	0x20000010

Disassembly of section .text.GPT0IntHandler:

00002b80 <GPT0IntHandler>:
//GPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPT0IntHandler(void) 
{
    2b80:	1460      	nie
    2b82:	1462      	ipush
    // ISR content ...
	//Interupt
	if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0)
    2b84:	1163      	lrw      	r3, 0x20000024	// 2c10 <GPT0IntHandler+0x90>
    2b86:	3280      	movi      	r2, 128
    2b88:	9360      	ld.w      	r3, (r3, 0x0)
    2b8a:	60c8      	addu      	r3, r2
    2b8c:	9315      	ld.w      	r0, (r3, 0x54)
    2b8e:	38c0      	btsti      	r0, 0
    2b90:	3101      	movi      	r1, 1
    2b92:	0c04      	bf      	0x2b9a	// 2b9a <GPT0IntHandler+0x1a>
	{
		GPT0->ICR = GPT_INT_TRGEV1;
	}
	else if((GPT0->MISR&GPT_INT_TRGEV2)==GPT_INT_TRGEV2)
	{
		GPT0->ICR = GPT_INT_TRGEV0;
    2b94:	b337      	st.w      	r1, (r3, 0x5c)
	}
	else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND)
	{
		GPT0->ICR = GPT_INT_PEND;
	}
}
    2b96:	1463      	ipop
    2b98:	1461      	nir
	else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1)
    2b9a:	9315      	ld.w      	r0, (r3, 0x54)
    2b9c:	38c1      	btsti      	r0, 1
    2b9e:	0c04      	bf      	0x2ba6	// 2ba6 <GPT0IntHandler+0x26>
		GPT0->ICR = GPT_INT_TRGEV1;
    2ba0:	3202      	movi      	r2, 2
		GPT0->ICR = GPT_INT_PEND;
    2ba2:	b357      	st.w      	r2, (r3, 0x5c)
}
    2ba4:	07f9      	br      	0x2b96	// 2b96 <GPT0IntHandler+0x16>
	else if((GPT0->MISR&GPT_INT_TRGEV2)==GPT_INT_TRGEV2)
    2ba6:	9315      	ld.w      	r0, (r3, 0x54)
    2ba8:	38c2      	btsti      	r0, 2
    2baa:	0bf5      	bt      	0x2b94	// 2b94 <GPT0IntHandler+0x14>
	else if((GPT0->MISR&GPT_TRGEV3)==GPT_INT_TRGEV3)
    2bac:	9335      	ld.w      	r1, (r3, 0x54)
    2bae:	39c3      	btsti      	r1, 3
    2bb0:	0c03      	bf      	0x2bb6	// 2bb6 <GPT0IntHandler+0x36>
		GPT0->ICR = GPT_INT_TRGEV3;
    2bb2:	3208      	movi      	r2, 8
    2bb4:	07f7      	br      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0)
    2bb6:	9335      	ld.w      	r1, (r3, 0x54)
    2bb8:	39c4      	btsti      	r1, 4
    2bba:	0c03      	bf      	0x2bc0	// 2bc0 <GPT0IntHandler+0x40>
		GPT0->ICR = GPT_INT_CAPLD0;
    2bbc:	3210      	movi      	r2, 16
    2bbe:	07f2      	br      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1)
    2bc0:	9335      	ld.w      	r1, (r3, 0x54)
    2bc2:	39c5      	btsti      	r1, 5
    2bc4:	0c03      	bf      	0x2bca	// 2bca <GPT0IntHandler+0x4a>
		GPT0->ICR = GPT_INT_CAPLD1;
    2bc6:	3220      	movi      	r2, 32
    2bc8:	07ed      	br      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAPLD2)==GPT_INT_CAPLD2)
    2bca:	9335      	ld.w      	r1, (r3, 0x54)
    2bcc:	39c6      	btsti      	r1, 6
    2bce:	0c03      	bf      	0x2bd4	// 2bd4 <GPT0IntHandler+0x54>
		GPT0->ICR = GPT_INT_CAPLD2;
    2bd0:	3240      	movi      	r2, 64
    2bd2:	07e8      	br      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAPLD3)==GPT_INT_CAPLD3)
    2bd4:	9335      	ld.w      	r1, (r3, 0x54)
    2bd6:	39c7      	btsti      	r1, 7
    2bd8:	0be5      	bt      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU)
    2bda:	9335      	ld.w      	r1, (r3, 0x54)
    2bdc:	3280      	movi      	r2, 128
    2bde:	39c8      	btsti      	r1, 8
    2be0:	4241      	lsli      	r2, r2, 1
    2be2:	0be0      	bt      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD)
    2be4:	9355      	ld.w      	r2, (r3, 0x54)
    2be6:	3ac9      	btsti      	r2, 9
    2be8:	3280      	movi      	r2, 128
    2bea:	4242      	lsli      	r2, r2, 2
    2bec:	0bdb      	bt      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU)
    2bee:	9335      	ld.w      	r1, (r3, 0x54)
    2bf0:	3280      	movi      	r2, 128
    2bf2:	39ca      	btsti      	r1, 10
    2bf4:	4243      	lsli      	r2, r2, 3
    2bf6:	0bd6      	bt      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD)
    2bf8:	9335      	ld.w      	r1, (r3, 0x54)
    2bfa:	3280      	movi      	r2, 128
    2bfc:	39cb      	btsti      	r1, 11
    2bfe:	4244      	lsli      	r2, r2, 4
    2c00:	0bd1      	bt      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
	else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND)
    2c02:	9335      	ld.w      	r1, (r3, 0x54)
    2c04:	3280      	movi      	r2, 128
    2c06:	39d0      	btsti      	r1, 16
    2c08:	4249      	lsli      	r2, r2, 9
    2c0a:	0bcc      	bt      	0x2ba2	// 2ba2 <GPT0IntHandler+0x22>
    2c0c:	07c5      	br      	0x2b96	// 2b96 <GPT0IntHandler+0x16>
    2c0e:	0000      	bkpt
    2c10:	20000024 	.long	0x20000024

Disassembly of section .text.RTCIntHandler:

00002c14 <RTCIntHandler>:
//RTC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void RTCIntHandler(void) 
{
    2c14:	1460      	nie
    2c16:	1462      	ipush
    // ISR content ...
	if((RTC->MISR&ALRA_INT)==ALRA_INT)			//ALRAR 
    2c18:	1076      	lrw      	r3, 0x20000018	// 2c70 <RTCIntHandler+0x5c>
    2c1a:	3101      	movi      	r1, 1
    2c1c:	9360      	ld.w      	r3, (r3, 0x0)
    2c1e:	934a      	ld.w      	r2, (r3, 0x28)
    2c20:	3ac0      	btsti      	r2, 0
    2c22:	0c12      	bf      	0x2c46	// 2c46 <RTCIntHandler+0x32>
	{
		RTC->ICR=ALRA_INT;
		RTC->KEY=0XCA53;
    2c24:	1054      	lrw      	r2, 0xca53	// 2c74 <RTCIntHandler+0x60>
		RTC->ICR=ALRA_INT;
    2c26:	b32b      	st.w      	r1, (r3, 0x2c)
		RTC->KEY=0XCA53;
    2c28:	b34c      	st.w      	r2, (r3, 0x30)
		RTC->CR=RTC->CR|0x01;
    2c2a:	9342      	ld.w      	r2, (r3, 0x8)
    2c2c:	6c84      	or      	r2, r1
    2c2e:	b342      	st.w      	r2, (r3, 0x8)
		RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00);			//Hour bit6->0:am 1:pm	
    2c30:	3280      	movi      	r2, 128
    2c32:	424d      	lsli      	r2, r2, 13
    2c34:	b340      	st.w      	r2, (r3, 0x0)
		while(RTC->CR&0x02);//busy 判断TIMR DATR ALRAR ALRBR数据写完
    2c36:	9342      	ld.w      	r2, (r3, 0x8)
    2c38:	3ac1      	btsti      	r2, 1
    2c3a:	0bfe      	bt      	0x2c36	// 2c36 <RTCIntHandler+0x22>
		RTC->CR &= ~0x1;
    2c3c:	9342      	ld.w      	r2, (r3, 0x8)
    2c3e:	3a80      	bclri      	r2, 0
    2c40:	b342      	st.w      	r2, (r3, 0x8)
	}
	else if((RTC->IMCR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)
	{
		RTC->ICR=RTC_TRGEV1_INT;
	}
}
    2c42:	1463      	ipop
    2c44:	1461      	nir
	else if((RTC->MISR&ALRB_INT)==ALRB_INT)			//ALRBR				
    2c46:	934a      	ld.w      	r2, (r3, 0x28)
    2c48:	3ac1      	btsti      	r2, 1
    2c4a:	0c04      	bf      	0x2c52	// 2c52 <RTCIntHandler+0x3e>
		RTC->ICR=ALRB_INT;
    2c4c:	3202      	movi      	r2, 2
		RTC->ICR=RTC_TRGEV1_INT;
    2c4e:	b34b      	st.w      	r2, (r3, 0x2c)
}
    2c50:	07f9      	br      	0x2c42	// 2c42 <RTCIntHandler+0x2e>
	else if((RTC->IMCR&CPRD_INT)==CPRD_INT)			//CPRD
    2c52:	9349      	ld.w      	r2, (r3, 0x24)
    2c54:	3ac2      	btsti      	r2, 2
    2c56:	0c03      	bf      	0x2c5c	// 2c5c <RTCIntHandler+0x48>
		RTC->ICR=CPRD_INT;
    2c58:	3204      	movi      	r2, 4
    2c5a:	07fa      	br      	0x2c4e	// 2c4e <RTCIntHandler+0x3a>
	else if((RTC->IMCR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT)
    2c5c:	9349      	ld.w      	r2, (r3, 0x24)
    2c5e:	3ac3      	btsti      	r2, 3
    2c60:	0c03      	bf      	0x2c66	// 2c66 <RTCIntHandler+0x52>
		RTC->ICR=RTC_TRGEV0_INT;
    2c62:	3208      	movi      	r2, 8
    2c64:	07f5      	br      	0x2c4e	// 2c4e <RTCIntHandler+0x3a>
	else if((RTC->IMCR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)
    2c66:	9349      	ld.w      	r2, (r3, 0x24)
    2c68:	3ac4      	btsti      	r2, 4
    2c6a:	0fec      	bf      	0x2c42	// 2c42 <RTCIntHandler+0x2e>
		RTC->ICR=RTC_TRGEV1_INT;
    2c6c:	3210      	movi      	r2, 16
    2c6e:	07f0      	br      	0x2c4e	// 2c4e <RTCIntHandler+0x3a>
    2c70:	20000018 	.long	0x20000018
    2c74:	0000ca53 	.long	0x0000ca53

Disassembly of section .text.UART0IntHandler:

00002c78 <UART0IntHandler>:
//UART0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0IntHandler(void) 
{
    2c78:	1460      	nie
    2c7a:	1462      	ipush
    // ISR content ...
	//Interupt
	if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S)
    2c7c:	106f      	lrw      	r3, 0x20000040	// 2cb8 <UART0IntHandler+0x40>
    2c7e:	9360      	ld.w      	r3, (r3, 0x0)
    2c80:	9343      	ld.w      	r2, (r3, 0xc)
    2c82:	3ac1      	btsti      	r2, 1
    2c84:	0c08      	bf      	0x2c94	// 2c94 <UART0IntHandler+0x1c>
	{
		UART0->ISR=UART_RX_INT_S;
    2c86:	3202      	movi      	r2, 2
    2c88:	b343      	st.w      	r2, (r3, 0xc)
		RxDataFlag = TRUE;
    2c8a:	3201      	movi      	r2, 1
    2c8c:	106c      	lrw      	r3, 0x20000108	// 2cbc <UART0IntHandler+0x44>
	}
	else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    {
		UART0->ISR=UART_TX_INT_S;
		TxDataFlag = TRUE;
    2c8e:	a340      	st.b      	r2, (r3, 0x0)
	}
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
	{
		UART0->ISR=UART_TX_IOV_S;
	}
}
    2c90:	1463      	ipop
    2c92:	1461      	nir
	else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    2c94:	9343      	ld.w      	r2, (r3, 0xc)
    2c96:	3ac0      	btsti      	r2, 0
    2c98:	0c05      	bf      	0x2ca2	// 2ca2 <UART0IntHandler+0x2a>
		UART0->ISR=UART_TX_INT_S;
    2c9a:	3201      	movi      	r2, 1
    2c9c:	b343      	st.w      	r2, (r3, 0xc)
		TxDataFlag = TRUE;
    2c9e:	1069      	lrw      	r3, 0x20000109	// 2cc0 <UART0IntHandler+0x48>
    2ca0:	07f7      	br      	0x2c8e	// 2c8e <UART0IntHandler+0x16>
	else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)
    2ca2:	9343      	ld.w      	r2, (r3, 0xc)
    2ca4:	3ac3      	btsti      	r2, 3
    2ca6:	0c04      	bf      	0x2cae	// 2cae <UART0IntHandler+0x36>
		UART0->ISR=UART_RX_IOV_S;
    2ca8:	3208      	movi      	r2, 8
		UART0->ISR=UART_TX_IOV_S;
    2caa:	b343      	st.w      	r2, (r3, 0xc)
}
    2cac:	07f2      	br      	0x2c90	// 2c90 <UART0IntHandler+0x18>
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
    2cae:	9343      	ld.w      	r2, (r3, 0xc)
    2cb0:	3ac2      	btsti      	r2, 2
    2cb2:	0fef      	bf      	0x2c90	// 2c90 <UART0IntHandler+0x18>
		UART0->ISR=UART_TX_IOV_S;
    2cb4:	3204      	movi      	r2, 4
    2cb6:	07fa      	br      	0x2caa	// 2caa <UART0IntHandler+0x32>
    2cb8:	20000040 	.long	0x20000040
    2cbc:	20000108 	.long	0x20000108
    2cc0:	20000109 	.long	0x20000109

Disassembly of section .text.UART1IntHandler:

00002cc4 <UART1IntHandler>:
//UART1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART1IntHandler(void) 
{
    2cc4:	1460      	nie
    2cc6:	1462      	ipush
    // ISR content ...
	//Interupt
	if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S)
    2cc8:	106f      	lrw      	r3, 0x2000003c	// 2d04 <UART1IntHandler+0x40>
    2cca:	9360      	ld.w      	r3, (r3, 0x0)
    2ccc:	9343      	ld.w      	r2, (r3, 0xc)
    2cce:	3ac1      	btsti      	r2, 1
    2cd0:	0c08      	bf      	0x2ce0	// 2ce0 <UART1IntHandler+0x1c>
	{
		UART1->ISR=UART_RX_INT_S;
    2cd2:	3202      	movi      	r2, 2
    2cd4:	b343      	st.w      	r2, (r3, 0xc)
		RxDataFlag = TRUE;
    2cd6:	3201      	movi      	r2, 1
    2cd8:	106c      	lrw      	r3, 0x20000108	// 2d08 <UART1IntHandler+0x44>
	}
	else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    {
		UART1->ISR=UART_TX_INT_S;
		TxDataFlag = TRUE;
    2cda:	a340      	st.b      	r2, (r3, 0x0)
	}
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
	{
		UART1->ISR=UART_TX_IOV_S;
	}
}
    2cdc:	1463      	ipop
    2cde:	1461      	nir
	else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    2ce0:	9343      	ld.w      	r2, (r3, 0xc)
    2ce2:	3ac0      	btsti      	r2, 0
    2ce4:	0c05      	bf      	0x2cee	// 2cee <UART1IntHandler+0x2a>
		UART1->ISR=UART_TX_INT_S;
    2ce6:	3201      	movi      	r2, 1
    2ce8:	b343      	st.w      	r2, (r3, 0xc)
		TxDataFlag = TRUE;
    2cea:	1069      	lrw      	r3, 0x20000109	// 2d0c <UART1IntHandler+0x48>
    2cec:	07f7      	br      	0x2cda	// 2cda <UART1IntHandler+0x16>
	else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)
    2cee:	9343      	ld.w      	r2, (r3, 0xc)
    2cf0:	3ac3      	btsti      	r2, 3
    2cf2:	0c04      	bf      	0x2cfa	// 2cfa <UART1IntHandler+0x36>
		UART1->ISR=UART_RX_IOV_S;
    2cf4:	3208      	movi      	r2, 8
		UART1->ISR=UART_TX_IOV_S;
    2cf6:	b343      	st.w      	r2, (r3, 0xc)
}
    2cf8:	07f2      	br      	0x2cdc	// 2cdc <UART1IntHandler+0x18>
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
    2cfa:	9343      	ld.w      	r2, (r3, 0xc)
    2cfc:	3ac2      	btsti      	r2, 2
    2cfe:	0fef      	bf      	0x2cdc	// 2cdc <UART1IntHandler+0x18>
		UART1->ISR=UART_TX_IOV_S;
    2d00:	3204      	movi      	r2, 4
    2d02:	07fa      	br      	0x2cf6	// 2cf6 <UART1IntHandler+0x32>
    2d04:	2000003c 	.long	0x2000003c
    2d08:	20000108 	.long	0x20000108
    2d0c:	20000109 	.long	0x20000109

Disassembly of section .text.UART2IntHandler:

00002d10 <UART2IntHandler>:
//UART2 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART2IntHandler(void) 
{
    2d10:	1460      	nie
    2d12:	1462      	ipush
    // ISR content ...
	//Interupt
	if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S)
    2d14:	106f      	lrw      	r3, 0x20000038	// 2d50 <UART2IntHandler+0x40>
    2d16:	9360      	ld.w      	r3, (r3, 0x0)
    2d18:	9343      	ld.w      	r2, (r3, 0xc)
    2d1a:	3ac1      	btsti      	r2, 1
    2d1c:	0c08      	bf      	0x2d2c	// 2d2c <UART2IntHandler+0x1c>
	{
		UART2->ISR=UART_RX_INT_S;
    2d1e:	3202      	movi      	r2, 2
    2d20:	b343      	st.w      	r2, (r3, 0xc)
		RxDataFlag = TRUE;
    2d22:	3201      	movi      	r2, 1
    2d24:	106c      	lrw      	r3, 0x20000108	// 2d54 <UART2IntHandler+0x44>
	}
	else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    {
		UART2->ISR=UART_TX_INT_S;
		TxDataFlag = TRUE;
    2d26:	a340      	st.b      	r2, (r3, 0x0)
	}
	else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
	{
		UART2->ISR=UART_TX_IOV_S;
	}
}
    2d28:	1463      	ipop
    2d2a:	1461      	nir
	else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 
    2d2c:	9343      	ld.w      	r2, (r3, 0xc)
    2d2e:	3ac0      	btsti      	r2, 0
    2d30:	0c05      	bf      	0x2d3a	// 2d3a <UART2IntHandler+0x2a>
		UART2->ISR=UART_TX_INT_S;
    2d32:	3201      	movi      	r2, 1
    2d34:	b343      	st.w      	r2, (r3, 0xc)
		TxDataFlag = TRUE;
    2d36:	1069      	lrw      	r3, 0x20000109	// 2d58 <UART2IntHandler+0x48>
    2d38:	07f7      	br      	0x2d26	// 2d26 <UART2IntHandler+0x16>
	else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)
    2d3a:	9343      	ld.w      	r2, (r3, 0xc)
    2d3c:	3ac3      	btsti      	r2, 3
    2d3e:	0c04      	bf      	0x2d46	// 2d46 <UART2IntHandler+0x36>
		UART2->ISR=UART_RX_IOV_S;
    2d40:	3208      	movi      	r2, 8
		UART2->ISR=UART_TX_IOV_S;
    2d42:	b343      	st.w      	r2, (r3, 0xc)
}
    2d44:	07f2      	br      	0x2d28	// 2d28 <UART2IntHandler+0x18>
	else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)
    2d46:	9343      	ld.w      	r2, (r3, 0xc)
    2d48:	3ac2      	btsti      	r2, 2
    2d4a:	0fef      	bf      	0x2d28	// 2d28 <UART2IntHandler+0x18>
		UART2->ISR=UART_TX_IOV_S;
    2d4c:	3204      	movi      	r2, 4
    2d4e:	07fa      	br      	0x2d42	// 2d42 <UART2IntHandler+0x32>
    2d50:	20000038 	.long	0x20000038
    2d54:	20000108 	.long	0x20000108
    2d58:	20000109 	.long	0x20000109

Disassembly of section .text.I2CIntHandler:

00002d5c <I2CIntHandler>:
//I2C Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void I2CIntHandler(void) 
{
    2d5c:	1460      	nie
    2d5e:	1462      	ipush
    2d60:	14d0      	push      	r15
    // ISR content ...
	I2C_Slave_Receive();
    2d62:	e3fff91f 	bsr      	0x1fa0	// 1fa0 <I2C_Slave_Receive>
}
    2d66:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    2d6a:	1401      	addi      	r14, r14, 4
    2d6c:	1463      	ipop
    2d6e:	1461      	nir

Disassembly of section .text.SPI0IntHandler:

00002d70 <SPI0IntHandler>:
//SPI Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SPI0IntHandler(void) 
{
    2d70:	1460      	nie
    2d72:	1462      	ipush
    // ISR content ...
	if((SPI0->MISR&SPI_PORIM)==SPI_PORIM)					//Receive Overrun Interrupt
    2d74:	106c      	lrw      	r3, 0x20000034	// 2da4 <SPI0IntHandler+0x34>
    2d76:	9360      	ld.w      	r3, (r3, 0x0)
    2d78:	9347      	ld.w      	r2, (r3, 0x1c)
    2d7a:	3ac0      	btsti      	r2, 0
    2d7c:	0c05      	bf      	0x2d86	// 2d86 <SPI0IntHandler+0x16>
	{
		SPI0->ICR = SPI_PORIM;
    2d7e:	3201      	movi      	r2, 1
			}
		}*/
	}
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
	{
		SPI0->ICR = SPI_TXIM;
    2d80:	b348      	st.w      	r2, (r3, 0x20)
	}

}
    2d82:	1463      	ipop
    2d84:	1461      	nir
	else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM)				//Receive Timeout Interrupt
    2d86:	9347      	ld.w      	r2, (r3, 0x1c)
    2d88:	3ac1      	btsti      	r2, 1
    2d8a:	0c03      	bf      	0x2d90	// 2d90 <SPI0IntHandler+0x20>
		SPI0->ICR = SPI_RTIM;
    2d8c:	3202      	movi      	r2, 2
    2d8e:	07f9      	br      	0x2d80	// 2d80 <SPI0IntHandler+0x10>
	else if((SPI0->MISR&SPI_RXIM)==SPI_RXIM)				//Receive FIFO Interrupt,FIFO can be set 1/8,1/4,1/2 FIFO Interrupt
    2d90:	9347      	ld.w      	r2, (r3, 0x1c)
    2d92:	3ac2      	btsti      	r2, 2
    2d94:	0c03      	bf      	0x2d9a	// 2d9a <SPI0IntHandler+0x2a>
		SPI0->ICR = SPI_RXIM;
    2d96:	3204      	movi      	r2, 4
    2d98:	07f4      	br      	0x2d80	// 2d80 <SPI0IntHandler+0x10>
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
    2d9a:	9347      	ld.w      	r2, (r3, 0x1c)
    2d9c:	3ac3      	btsti      	r2, 3
    2d9e:	0ff2      	bf      	0x2d82	// 2d82 <SPI0IntHandler+0x12>
		SPI0->ICR = SPI_TXIM;
    2da0:	3208      	movi      	r2, 8
    2da2:	07ef      	br      	0x2d80	// 2d80 <SPI0IntHandler+0x10>
    2da4:	20000034 	.long	0x20000034

Disassembly of section .text.SIO0IntHandler:

00002da8 <SIO0IntHandler>:
//SIO Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SIO0IntHandler(void) 
{
    2da8:	1460      	nie
    2daa:	1462      	ipush
		delay_nms(10);
		SIO0->TXBUF=(0x03<<30)|(0x02<<28)|(0x03<<26)|(0x02<<24)|(0x03<<22)|(0x02<<20)|(0x03<<18)|(0x02<<16)|
				(0x01<<14)|(0x00<<12)|(0x01<<10)|(0x00<<8)|(0x01<<6)|(0x00<<4)|(0x01<<2)|(0x0<<0);		//0:D0,1:D1,2:DL,3:DH;	
	}*/
	
	if(SIO0->MISR&0X02)					//RXDNE
    2dac:	107b      	lrw      	r3, 0x2000002c	// 2e18 <SIO0IntHandler+0x70>
    2dae:	9360      	ld.w      	r3, (r3, 0x0)
    2db0:	9349      	ld.w      	r2, (r3, 0x24)
    2db2:	3ac1      	btsti      	r2, 1
    2db4:	0c14      	bf      	0x2ddc	// 2ddc <SIO0IntHandler+0x34>
	{
		SIO0->ICR=0X02;
    2db6:	3202      	movi      	r2, 2
    2db8:	b34b      	st.w      	r2, (r3, 0x2c)
		if(R_SIORX_count>=1)
    2dba:	1019      	lrw      	r0, 0x200003ac	// 2e1c <SIO0IntHandler+0x74>
    2dbc:	9040      	ld.w      	r2, (r0, 0x0)
    2dbe:	3a20      	cmplti      	r2, 1
    2dc0:	080c      	bt      	0x2dd8	// 2dd8 <SIO0IntHandler+0x30>
		{
			R_SIORX_buf[R_SIORX_count]=SIO0->RXBUF&0xff000000;			//8bit
    2dc2:	9040      	ld.w      	r2, (r0, 0x0)
    2dc4:	9327      	ld.w      	r1, (r3, 0x1c)
    2dc6:	4938      	lsri      	r1, r1, 24
    2dc8:	4262      	lsli      	r3, r2, 2
    2dca:	1056      	lrw      	r2, 0x200003b0	// 2e20 <SIO0IntHandler+0x78>
    2dcc:	4138      	lsli      	r1, r1, 24
    2dce:	60c8      	addu      	r3, r2
    2dd0:	b320      	st.w      	r1, (r3, 0x0)
			nop;
    2dd2:	6c03      	mov      	r0, r0
			R_SIORX_count=0;
    2dd4:	3300      	movi      	r3, 0
    2dd6:	b060      	st.w      	r3, (r0, 0x0)
	}
	else if(SIO0->MISR&0X020)				//TIMEOUT
	{
		SIO0->ICR=0X20;
	}
}
    2dd8:	1463      	ipop
    2dda:	1461      	nir
	else if(SIO0->MISR&0X08)					//RXBUFFULL	
    2ddc:	9349      	ld.w      	r2, (r3, 0x24)
    2dde:	3ac3      	btsti      	r2, 3
    2de0:	0c11      	bf      	0x2e02	// 2e02 <SIO0IntHandler+0x5a>
		SIO0->ICR=0X08;
    2de2:	3208      	movi      	r2, 8
    2de4:	b34b      	st.w      	r2, (r3, 0x2c)
		if(R_SIORX_count<1)
    2de6:	102e      	lrw      	r1, 0x200003ac	// 2e1c <SIO0IntHandler+0x74>
    2de8:	9140      	ld.w      	r2, (r1, 0x0)
    2dea:	3a20      	cmplti      	r2, 1
    2dec:	0ff6      	bf      	0x2dd8	// 2dd8 <SIO0IntHandler+0x30>
			R_SIORX_buf[R_SIORX_count]=SIO0->RXBUF;				//32bit
    2dee:	9140      	ld.w      	r2, (r1, 0x0)
    2df0:	9307      	ld.w      	r0, (r3, 0x1c)
    2df2:	4262      	lsli      	r3, r2, 2
    2df4:	104b      	lrw      	r2, 0x200003b0	// 2e20 <SIO0IntHandler+0x78>
    2df6:	60c8      	addu      	r3, r2
    2df8:	b300      	st.w      	r0, (r3, 0x0)
			R_SIORX_count++;
    2dfa:	9160      	ld.w      	r3, (r1, 0x0)
    2dfc:	2300      	addi      	r3, 1
    2dfe:	b160      	st.w      	r3, (r1, 0x0)
    2e00:	07ec      	br      	0x2dd8	// 2dd8 <SIO0IntHandler+0x30>
	else if(SIO0->MISR&0X010)				//BREAK
    2e02:	9349      	ld.w      	r2, (r3, 0x24)
    2e04:	3ac4      	btsti      	r2, 4
    2e06:	0c04      	bf      	0x2e0e	// 2e0e <SIO0IntHandler+0x66>
		SIO0->ICR=0X10;
    2e08:	3210      	movi      	r2, 16
		SIO0->ICR=0X20;
    2e0a:	b34b      	st.w      	r2, (r3, 0x2c)
}
    2e0c:	07e6      	br      	0x2dd8	// 2dd8 <SIO0IntHandler+0x30>
	else if(SIO0->MISR&0X020)				//TIMEOUT
    2e0e:	9349      	ld.w      	r2, (r3, 0x24)
    2e10:	3ac5      	btsti      	r2, 5
    2e12:	0fe3      	bf      	0x2dd8	// 2dd8 <SIO0IntHandler+0x30>
		SIO0->ICR=0X20;
    2e14:	3220      	movi      	r2, 32
    2e16:	07fa      	br      	0x2e0a	// 2e0a <SIO0IntHandler+0x62>
    2e18:	2000002c 	.long	0x2000002c
    2e1c:	200003ac 	.long	0x200003ac
    2e20:	200003b0 	.long	0x200003b0

Disassembly of section .text.EXI0IntHandler:

00002e24 <EXI0IntHandler>:
//EXT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI0IntHandler(void) 
{
    2e24:	1460      	nie
    2e26:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) 
    2e28:	1065      	lrw      	r3, 0x20000058	// 2e3c <EXI0IntHandler+0x18>
    2e2a:	9360      	ld.w      	r3, (r3, 0x0)
    2e2c:	237f      	addi      	r3, 128
    2e2e:	934c      	ld.w      	r2, (r3, 0x30)
    2e30:	3ac0      	btsti      	r2, 0
    2e32:	0c03      	bf      	0x2e38	// 2e38 <EXI0IntHandler+0x14>
	{
		SYSCON->EXICR = EXI_PIN0;
    2e34:	3201      	movi      	r2, 1
    2e36:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    2e38:	1463      	ipop
    2e3a:	1461      	nir
    2e3c:	20000058 	.long	0x20000058

Disassembly of section .text.EXI1IntHandler:

00002e40 <EXI1IntHandler>:
//EXT1Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI1IntHandler(void) 
{
    2e40:	1460      	nie
    2e42:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) 
    2e44:	1065      	lrw      	r3, 0x20000058	// 2e58 <EXI1IntHandler+0x18>
    2e46:	9360      	ld.w      	r3, (r3, 0x0)
    2e48:	237f      	addi      	r3, 128
    2e4a:	934c      	ld.w      	r2, (r3, 0x30)
    2e4c:	3ac1      	btsti      	r2, 1
    2e4e:	0c03      	bf      	0x2e54	// 2e54 <EXI1IntHandler+0x14>
	{
		SYSCON->EXICR = EXI_PIN1;
    2e50:	3202      	movi      	r2, 2
    2e52:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    2e54:	1463      	ipop
    2e56:	1461      	nir
    2e58:	20000058 	.long	0x20000058

Disassembly of section .text.EXI2to3IntHandler:

00002e5c <EXI2to3IntHandler>:
//EXI2 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI2to3IntHandler(void) 
{
    2e5c:	1460      	nie
    2e5e:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) 
    2e60:	1068      	lrw      	r3, 0x20000058	// 2e80 <EXI2to3IntHandler+0x24>
    2e62:	9360      	ld.w      	r3, (r3, 0x0)
    2e64:	237f      	addi      	r3, 128
    2e66:	934c      	ld.w      	r2, (r3, 0x30)
    2e68:	3ac2      	btsti      	r2, 2
    2e6a:	0c05      	bf      	0x2e74	// 2e74 <EXI2to3IntHandler+0x18>
	{
		SYSCON->EXICR = EXI_PIN2;
    2e6c:	3204      	movi      	r2, 4
	} 
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 
	{
		SYSCON->EXICR = EXI_PIN3;
    2e6e:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    2e70:	1463      	ipop
    2e72:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 
    2e74:	934c      	ld.w      	r2, (r3, 0x30)
    2e76:	3ac3      	btsti      	r2, 3
    2e78:	0ffc      	bf      	0x2e70	// 2e70 <EXI2to3IntHandler+0x14>
		SYSCON->EXICR = EXI_PIN3;
    2e7a:	3208      	movi      	r2, 8
    2e7c:	07f9      	br      	0x2e6e	// 2e6e <EXI2to3IntHandler+0x12>
    2e7e:	0000      	bkpt
    2e80:	20000058 	.long	0x20000058

Disassembly of section .text.EXI4to9IntHandler:

00002e84 <EXI4to9IntHandler>:
//EXI3 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI4to9IntHandler(void) 
{
    2e84:	1460      	nie
    2e86:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) 
    2e88:	1072      	lrw      	r3, 0x20000058	// 2ed0 <EXI4to9IntHandler+0x4c>
    2e8a:	3280      	movi      	r2, 128
    2e8c:	9360      	ld.w      	r3, (r3, 0x0)
    2e8e:	60c8      	addu      	r3, r2
    2e90:	932c      	ld.w      	r1, (r3, 0x30)
    2e92:	39c4      	btsti      	r1, 4
    2e94:	0c04      	bf      	0x2e9c	// 2e9c <EXI4to9IntHandler+0x18>
	{
		SYSCON->EXICR = EXI_PIN4;
    2e96:	3210      	movi      	r2, 16
	{
		SYSCON->EXICR = EXI_PIN8;
	}
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 
	{
		SYSCON->EXICR = EXI_PIN9;
    2e98:	b34b      	st.w      	r2, (r3, 0x2c)
	} 

}
    2e9a:	0418      	br      	0x2eca	// 2eca <EXI4to9IntHandler+0x46>
	else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) 
    2e9c:	932c      	ld.w      	r1, (r3, 0x30)
    2e9e:	39c5      	btsti      	r1, 5
    2ea0:	0c03      	bf      	0x2ea6	// 2ea6 <EXI4to9IntHandler+0x22>
		SYSCON->EXICR = EXI_PIN5;
    2ea2:	3220      	movi      	r2, 32
    2ea4:	07fa      	br      	0x2e98	// 2e98 <EXI4to9IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) 
    2ea6:	932c      	ld.w      	r1, (r3, 0x30)
    2ea8:	39c6      	btsti      	r1, 6
    2eaa:	0c03      	bf      	0x2eb0	// 2eb0 <EXI4to9IntHandler+0x2c>
		SYSCON->EXICR = EXI_PIN6;
    2eac:	3240      	movi      	r2, 64
    2eae:	07f5      	br      	0x2e98	// 2e98 <EXI4to9IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) 
    2eb0:	932c      	ld.w      	r1, (r3, 0x30)
    2eb2:	39c7      	btsti      	r1, 7
    2eb4:	0bf2      	bt      	0x2e98	// 2e98 <EXI4to9IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) 
    2eb6:	932c      	ld.w      	r1, (r3, 0x30)
    2eb8:	3280      	movi      	r2, 128
    2eba:	39c8      	btsti      	r1, 8
    2ebc:	4241      	lsli      	r2, r2, 1
    2ebe:	0bed      	bt      	0x2e98	// 2e98 <EXI4to9IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 
    2ec0:	932c      	ld.w      	r1, (r3, 0x30)
    2ec2:	3280      	movi      	r2, 128
    2ec4:	39c9      	btsti      	r1, 9
    2ec6:	4242      	lsli      	r2, r2, 2
    2ec8:	0be8      	bt      	0x2e98	// 2e98 <EXI4to9IntHandler+0x14>
}
    2eca:	1463      	ipop
    2ecc:	1461      	nir
    2ece:	0000      	bkpt
    2ed0:	20000058 	.long	0x20000058

Disassembly of section .text.LPTIntHandler:

00002ed4 <LPTIntHandler>:
//LPT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void LPTIntHandler(void) 
{
    2ed4:	1460      	nie
    2ed6:	1462      	ipush
    // ISR content ...
	//Interupt
	if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0)
    2ed8:	106a      	lrw      	r3, 0x20000014	// 2f00 <LPTIntHandler+0x2c>
    2eda:	9360      	ld.w      	r3, (r3, 0x0)
    2edc:	934e      	ld.w      	r2, (r3, 0x38)
    2ede:	3ac0      	btsti      	r2, 0
    2ee0:	0c05      	bf      	0x2eea	// 2eea <LPTIntHandler+0x16>
	{
		LPT->ICR = LPT_TRGEV0;
    2ee2:	3201      	movi      	r2, 1
	{
		LPT->ICR = LPT_MATCH;
	}
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)
	{
		LPT->ICR = LPT_PEND;
    2ee4:	b350      	st.w      	r2, (r3, 0x40)
	}
}
    2ee6:	1463      	ipop
    2ee8:	1461      	nir
	else if((LPT->MISR&LPT_MATCH)==LPT_MATCH)
    2eea:	934e      	ld.w      	r2, (r3, 0x38)
    2eec:	3ac1      	btsti      	r2, 1
    2eee:	0c03      	bf      	0x2ef4	// 2ef4 <LPTIntHandler+0x20>
		LPT->ICR = LPT_MATCH;
    2ef0:	3202      	movi      	r2, 2
    2ef2:	07f9      	br      	0x2ee4	// 2ee4 <LPTIntHandler+0x10>
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)
    2ef4:	934e      	ld.w      	r2, (r3, 0x38)
    2ef6:	3ac2      	btsti      	r2, 2
    2ef8:	0ff7      	bf      	0x2ee6	// 2ee6 <LPTIntHandler+0x12>
		LPT->ICR = LPT_PEND;
    2efa:	3204      	movi      	r2, 4
    2efc:	07f4      	br      	0x2ee4	// 2ee4 <LPTIntHandler+0x10>
    2efe:	0000      	bkpt
    2f00:	20000014 	.long	0x20000014

Disassembly of section .text.BT0IntHandler:

00002f04 <BT0IntHandler>:
//BT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT0IntHandler(void) 
{
    2f04:	1460      	nie
    2f06:	1462      	ipush
    // ISR content ...
	if((BT0->MISR&BT_PEND)==BT_PEND)
    2f08:	106c      	lrw      	r3, 0x2000000c	// 2f38 <BT0IntHandler+0x34>
    2f0a:	9360      	ld.w      	r3, (r3, 0x0)
    2f0c:	934c      	ld.w      	r2, (r3, 0x30)
    2f0e:	3ac0      	btsti      	r2, 0
    2f10:	0c05      	bf      	0x2f1a	// 2f1a <BT0IntHandler+0x16>
	{
		BT0->ICR = BT_PEND;
    2f12:	3201      	movi      	r2, 1
	{
		BT0->ICR = BT_OVF;
	} 
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)
	{
		BT0->ICR = BT_EVTRG;
    2f14:	b34d      	st.w      	r2, (r3, 0x34)
	} 
}
    2f16:	1463      	ipop
    2f18:	1461      	nir
	else if((BT0->MISR&BT_CMP)==BT_CMP)
    2f1a:	934c      	ld.w      	r2, (r3, 0x30)
    2f1c:	3ac1      	btsti      	r2, 1
    2f1e:	0c03      	bf      	0x2f24	// 2f24 <BT0IntHandler+0x20>
		BT0->ICR = BT_CMP;
    2f20:	3202      	movi      	r2, 2
    2f22:	07f9      	br      	0x2f14	// 2f14 <BT0IntHandler+0x10>
	else if((BT0->MISR&BT_OVF)==BT_OVF)
    2f24:	934c      	ld.w      	r2, (r3, 0x30)
    2f26:	3ac2      	btsti      	r2, 2
    2f28:	0c03      	bf      	0x2f2e	// 2f2e <BT0IntHandler+0x2a>
		BT0->ICR = BT_OVF;
    2f2a:	3204      	movi      	r2, 4
    2f2c:	07f4      	br      	0x2f14	// 2f14 <BT0IntHandler+0x10>
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)
    2f2e:	934c      	ld.w      	r2, (r3, 0x30)
    2f30:	3ac3      	btsti      	r2, 3
    2f32:	0ff2      	bf      	0x2f16	// 2f16 <BT0IntHandler+0x12>
		BT0->ICR = BT_EVTRG;
    2f34:	3208      	movi      	r2, 8
    2f36:	07ef      	br      	0x2f14	// 2f14 <BT0IntHandler+0x10>
    2f38:	2000000c 	.long	0x2000000c

Disassembly of section .text.BT1IntHandler:

00002f3c <BT1IntHandler>:
//BT1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT1IntHandler(void) 
{
    2f3c:	1460      	nie
    2f3e:	1462      	ipush
    // ISR content ...
	if((BT1->MISR&BT_PEND)==BT_PEND)
    2f40:	106d      	lrw      	r3, 0x20000008	// 2f74 <BT1IntHandler+0x38>
    2f42:	9360      	ld.w      	r3, (r3, 0x0)
    2f44:	934c      	ld.w      	r2, (r3, 0x30)
    2f46:	3ac0      	btsti      	r2, 0
    2f48:	0c05      	bf      	0x2f52	// 2f52 <BT1IntHandler+0x16>
	{
		BT1->ICR = BT_PEND;
    2f4a:	3201      	movi      	r2, 1
	{
		BT1->ICR = BT_OVF;
	} 
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)
	{
		BT1->ICR = BT_EVTRG;
    2f4c:	b34d      	st.w      	r2, (r3, 0x34)
	} 
}
    2f4e:	1463      	ipop
    2f50:	1461      	nir
	else if((BT0->MISR&BT_CMP)==BT_CMP)
    2f52:	104a      	lrw      	r2, 0x2000000c	// 2f78 <BT1IntHandler+0x3c>
    2f54:	9240      	ld.w      	r2, (r2, 0x0)
    2f56:	922c      	ld.w      	r1, (r2, 0x30)
    2f58:	39c1      	btsti      	r1, 1
    2f5a:	0c03      	bf      	0x2f60	// 2f60 <BT1IntHandler+0x24>
		BT1->ICR = BT_CMP;
    2f5c:	3202      	movi      	r2, 2
    2f5e:	07f7      	br      	0x2f4c	// 2f4c <BT1IntHandler+0x10>
	else if((BT0->MISR&BT_OVF)==BT_OVF)
    2f60:	922c      	ld.w      	r1, (r2, 0x30)
    2f62:	39c2      	btsti      	r1, 2
    2f64:	0c03      	bf      	0x2f6a	// 2f6a <BT1IntHandler+0x2e>
		BT1->ICR = BT_OVF;
    2f66:	3204      	movi      	r2, 4
    2f68:	07f2      	br      	0x2f4c	// 2f4c <BT1IntHandler+0x10>
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)
    2f6a:	924c      	ld.w      	r2, (r2, 0x30)
    2f6c:	3ac3      	btsti      	r2, 3
    2f6e:	0ff0      	bf      	0x2f4e	// 2f4e <BT1IntHandler+0x12>
		BT1->ICR = BT_EVTRG;
    2f70:	3208      	movi      	r2, 8
    2f72:	07ed      	br      	0x2f4c	// 2f4c <BT1IntHandler+0x10>
    2f74:	20000008 	.long	0x20000008
    2f78:	2000000c 	.long	0x2000000c

Disassembly of section .text.PriviledgeVioHandler:

00002f7c <PriviledgeVioHandler>:
    2f7c:	783c      	jmp      	r15

Disassembly of section .text.PendTrapHandler:

00002f7e <PendTrapHandler>:
    // ISR content ...

}

void PendTrapHandler(void) 
{
    2f7e:	1460      	nie
    2f80:	1462      	ipush
    // ISR content ...

}
    2f82:	1463      	ipop
    2f84:	1461      	nir

Disassembly of section .text.Trap3Handler:

00002f86 <Trap3Handler>:
    2f86:	1460      	nie
    2f88:	1462      	ipush
    2f8a:	1463      	ipop
    2f8c:	1461      	nir

Disassembly of section .text.Trap2Handler:

00002f8e <Trap2Handler>:
    2f8e:	1460      	nie
    2f90:	1462      	ipush
    2f92:	1463      	ipop
    2f94:	1461      	nir

Disassembly of section .text.Trap1Handler:

00002f96 <Trap1Handler>:
    2f96:	1460      	nie
    2f98:	1462      	ipush
    2f9a:	1463      	ipop
    2f9c:	1461      	nir

Disassembly of section .text.Trap0Handler:

00002f9e <Trap0Handler>:
    2f9e:	1460      	nie
    2fa0:	1462      	ipush
    2fa2:	1463      	ipop
    2fa4:	1461      	nir

Disassembly of section .text.UnrecExecpHandler:

00002fa6 <UnrecExecpHandler>:
    2fa6:	1460      	nie
    2fa8:	1462      	ipush
    2faa:	1463      	ipop
    2fac:	1461      	nir

Disassembly of section .text.BreakPointHandler:

00002fae <BreakPointHandler>:
    2fae:	1460      	nie
    2fb0:	1462      	ipush
    2fb2:	1463      	ipop
    2fb4:	1461      	nir

Disassembly of section .text.AccessErrHandler:

00002fb6 <AccessErrHandler>:
    2fb6:	1460      	nie
    2fb8:	1462      	ipush
    2fba:	1463      	ipop
    2fbc:	1461      	nir

Disassembly of section .text.IllegalInstrHandler:

00002fbe <IllegalInstrHandler>:
    2fbe:	1460      	nie
    2fc0:	1462      	ipush
    2fc2:	1463      	ipop
    2fc4:	1461      	nir

Disassembly of section .text.MisalignedHandler:

00002fc6 <MisalignedHandler>:
    2fc6:	1460      	nie
    2fc8:	1462      	ipush
    2fca:	1463      	ipop
    2fcc:	1461      	nir

Disassembly of section .text.CNTAIntHandler:

00002fce <CNTAIntHandler>:
    2fce:	1460      	nie
    2fd0:	1462      	ipush
    2fd2:	1463      	ipop
    2fd4:	1461      	nir

Disassembly of section .text.ADCIntHandler:

00002fd6 <ADCIntHandler>:
    2fd6:	1460      	nie
    2fd8:	1462      	ipush
    2fda:	1463      	ipop
    2fdc:	1461      	nir

Disassembly of section .text.startup.main:

00002fde <main>:
extern void delay_nms(unsigned int t);
extern void APT32F102_init(void);	


int main(void) 
{
    2fde:	14d0      	push      	r15
	//delay_nms(5000);
	APT32F102_init();
    2fe0:	e3fffc04 	bsr      	0x27e8	// 27e8 <APT32F102_init>
	App_Init();
    2fe4:	e000061a 	bsr      	0x3c18	// 3c18 <App_Init>
	
    while(1)
	{
		SYSCON_IWDCNT_Reload();
    2fe8:	e3fff496 	bsr      	0x1914	// 1914 <SYSCON_IWDCNT_Reload>
		App_Main();
    2fec:	e0000628 	bsr      	0x3c3c	// 3c3c <App_Main>
    2ff0:	07fc      	br      	0x2fe8	// 2fe8 <main+0xa>

Disassembly of section .text.__divsi3:

00002ff4 <__divsi3>:
CSP_HWD_T   	*HWD      = (CSP_HWD_T  *)APB_HWDBase ;



int __divsi3 (  int a,   int b)
{   
    2ff4:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    2ff6:	c0006023 	mfcr      	r3, cr<0, 0>
    2ffa:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );

	HWD->CR = 0;
    2ffe:	1046      	lrw      	r2, 0x20000000	// 3014 <__divsi3+0x20>
    3000:	3400      	movi      	r4, 0
    3002:	9240      	ld.w      	r2, (r2, 0x0)
    3004:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    3006:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    3008:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    300a:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    300c:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);
					
	return HWD->QUOTIENT;
    3010:	9202      	ld.w      	r0, (r2, 0x8)
}
    3012:	1481      	pop      	r4
    3014:	20000000 	.long	0x20000000

Disassembly of section .text.__udivsi3:

00003018 <__udivsi3>:

 unsigned int __udivsi3 ( unsigned int a,  unsigned int b)
{   
    3018:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    301a:	c0006023 	mfcr      	r3, cr<0, 0>
    301e:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    3022:	1046      	lrw      	r2, 0x20000000	// 3038 <__udivsi3+0x20>
    3024:	3401      	movi      	r4, 1
    3026:	9240      	ld.w      	r2, (r2, 0x0)
    3028:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    302a:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    302c:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    302e:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    3030:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);

	return HWD->QUOTIENT;
    3034:	9202      	ld.w      	r0, (r2, 0x8)
}
    3036:	1481      	pop      	r4
    3038:	20000000 	.long	0x20000000

Disassembly of section .text.__modsi3:

0000303c <__modsi3>:

int __modsi3 ( int a,  int b)
{   
    303c:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    303e:	c0006023 	mfcr      	r3, cr<0, 0>
    3042:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 0;
    3046:	1046      	lrw      	r2, 0x20000000	// 305c <__modsi3+0x20>
    3048:	3400      	movi      	r4, 0
    304a:	9240      	ld.w      	r2, (r2, 0x0)
    304c:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    304e:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    3050:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    3052:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    3054:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);	
	return HWD->REMAIN;
    3058:	9203      	ld.w      	r0, (r2, 0xc)
}
    305a:	1481      	pop      	r4
    305c:	20000000 	.long	0x20000000

Disassembly of section .text.__umodsi3:

00003060 <__umodsi3>:

unsigned int __umodsi3 ( unsigned int a,  unsigned int b)
{   
    3060:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    3062:	c0006023 	mfcr      	r3, cr<0, 0>
    3066:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    306a:	1046      	lrw      	r2, 0x20000000	// 3080 <__umodsi3+0x20>
    306c:	3401      	movi      	r4, 1
    306e:	9240      	ld.w      	r2, (r2, 0x0)
    3070:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    3072:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    3074:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    3076:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    3078:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);	
	return HWD->REMAIN;
    307c:	9203      	ld.w      	r0, (r2, 0xc)
}
    307e:	1481      	pop      	r4
    3080:	20000000 	.long	0x20000000

Disassembly of section .text.CK_CPU_EnAllNormalIrq:

00003084 <CK_CPU_EnAllNormalIrq>:
}


void CK_CPU_EnAllNormalIrq(void)
{
  asm  ("psrset ee,ie");
    3084:	c1807420 	psrset      	ee, ie
}
    3088:	783c      	jmp      	r15

Disassembly of section .text.HT162X_Delay:

0000308a <HT162X_Delay>:
uint8_t HT_RAM[HT_RAM_Length];


void HT162X_Delay(unsigned char n)
{
    while(n--)
    308a:	33ff      	movi      	r3, 255
    308c:	2800      	subi      	r0, 1
    308e:	7400      	zextb      	r0, r0
    3090:	64c2      	cmpne      	r0, r3
    3092:	0802      	bt      	0x3096	// 3096 <HT162X_Delay+0xc>
    {
        asm("nop");
    }
}
    3094:	783c      	jmp      	r15
        asm("nop");
    3096:	6c03      	mov      	r0, r0
    3098:	07fa      	br      	0x308c	// 308c <HT162X_Delay+0x2>

Disassembly of section .text.HT_RAM_Setting:

0000309c <HT_RAM_Setting>:

void HT_RAM_Setting(Cad_Dat_S Cad_Dat)
{
    309c:	1423      	subi      	r14, r14, 12
    if(Cad_Dat.Cad_Pin >= HT_RAM_Length) return;
    309e:	390f      	cmphsi      	r1, 16
{
    30a0:	b800      	st.w      	r0, (r14, 0x0)
    30a2:	b842      	st.w      	r2, (r14, 0x8)
    if(Cad_Dat.Cad_Pin >= HT_RAM_Length) return;
    30a4:	0809      	bt      	0x30b6	// 30b6 <HT_RAM_Setting+0x1a>

    if(Cad_Dat.Cad_Dis == Char_ON) HT_RAM[Cad_Dat.Cad_Pin] |= Cad_Dat.Cad_Com;
    30a6:	9862      	ld.w      	r3, (r14, 0x8)
    30a8:	3b40      	cmpnei      	r3, 0
    30aa:	1066      	lrw      	r3, 0x200003e8	// 30c0 <HT_RAM_Setting+0x24>
    30ac:	604c      	addu      	r1, r3
    30ae:	8160      	ld.b      	r3, (r1, 0x0)
    30b0:	0805      	bt      	0x30ba	// 30ba <HT_RAM_Setting+0x1e>
    30b2:	6cc0      	or      	r3, r0
    else HT_RAM[Cad_Dat.Cad_Pin] &= (~Cad_Dat.Cad_Com);
    30b4:	a160      	st.b      	r3, (r1, 0x0)
}
    30b6:	1403      	addi      	r14, r14, 12
    30b8:	783c      	jmp      	r15
    else HT_RAM[Cad_Dat.Cad_Pin] &= (~Cad_Dat.Cad_Com);
    30ba:	68c1      	andn      	r3, r0
    30bc:	07fc      	br      	0x30b4	// 30b4 <HT_RAM_Setting+0x18>
    30be:	0000      	bkpt
    30c0:	200003e8 	.long	0x200003e8

Disassembly of section .text.HT162X_W_Bit:

000030c4 <HT162X_W_Bit>:

//写数据,低4位有效,自低往高写位
void HT162X_W_Bit(uint16_t ht,uint8_t bitNum)
{
    30c4:	14d4      	push      	r4-r7, r15
    30c6:	1421      	subi      	r14, r14, 4
    uint8_t i;
    uint16_t temp_Bit;

    if(bitNum == 0) temp_Bit = 1;
    30c8:	3940      	cmpnei      	r1, 0
{
    30ca:	6d83      	mov      	r6, r0
    30cc:	6dc7      	mov      	r7, r1
    if(bitNum == 0) temp_Bit = 1;
    30ce:	0c0b      	bf      	0x30e4	// 30e4 <HT162X_W_Bit+0x20>
    else temp_Bit = (0x1 << (bitNum - 1));
    30d0:	5963      	subi      	r3, r1, 1
    30d2:	3401      	movi      	r4, 1
    30d4:	710c      	lsl      	r4, r3
    30d6:	74d1      	zexth      	r3, r4
    for (i = 0; i < bitNum; i++)
    30d8:	3500      	movi      	r5, 0
    {
        HT_Device.HT_Data_Handled(((ht & temp_Bit) == temp_Bit)?1:0);
    30da:	1091      	lrw      	r4, 0x200003d8	// 311c <HT162X_W_Bit+0x58>
    for (i = 0; i < bitNum; i++)
    30dc:	65d6      	cmpne      	r5, r7
    30de:	0805      	bt      	0x30e8	// 30e8 <HT162X_W_Bit+0x24>
        HT162X_Delay(2);
        HT_Device.HT_WR_Handled(1);
        HT162X_Delay(1);
        ht <<= 1;
    }
}
    30e0:	1401      	addi      	r14, r14, 4
    30e2:	1494      	pop      	r4-r7, r15
    30e4:	3401      	movi      	r4, 1
    30e6:	07f8      	br      	0x30d6	// 30d6 <HT162X_W_Bit+0x12>
        HT_Device.HT_Data_Handled(((ht & temp_Bit) == temp_Bit)?1:0);
    30e8:	6c9b      	mov      	r2, r6
    30ea:	688c      	and      	r2, r3
    30ec:	64ca      	cmpne      	r2, r3
    30ee:	6403      	mvcv      	r0
    30f0:	7400      	zextb      	r0, r0
    30f2:	9443      	ld.w      	r2, (r4, 0xc)
    30f4:	b860      	st.w      	r3, (r14, 0x0)
    30f6:	7bc9      	jsr      	r2
        HT_Device.HT_WR_Handled(0);
    30f8:	9441      	ld.w      	r2, (r4, 0x4)
    30fa:	3000      	movi      	r0, 0
    30fc:	7bc9      	jsr      	r2
        HT162X_Delay(2);
    30fe:	3002      	movi      	r0, 2
    3100:	e3ffffc5 	bsr      	0x308a	// 308a <HT162X_Delay>
        HT_Device.HT_WR_Handled(1);
    3104:	9441      	ld.w      	r2, (r4, 0x4)
    3106:	3001      	movi      	r0, 1
    3108:	7bc9      	jsr      	r2
        ht <<= 1;
    310a:	46c1      	lsli      	r6, r6, 1
        HT162X_Delay(1);
    310c:	3001      	movi      	r0, 1
    for (i = 0; i < bitNum; i++)
    310e:	2500      	addi      	r5, 1
        HT162X_Delay(1);
    3110:	e3ffffbd 	bsr      	0x308a	// 308a <HT162X_Delay>
        ht <<= 1;
    3114:	7599      	zexth      	r6, r6
    for (i = 0; i < bitNum; i++)
    3116:	7554      	zextb      	r5, r5
    3118:	9860      	ld.w      	r3, (r14, 0x0)
    311a:	07e1      	br      	0x30dc	// 30dc <HT162X_W_Bit+0x18>
    311c:	200003d8 	.long	0x200003d8

Disassembly of section .text.HT162X_ResetRAM:

00003120 <HT162X_ResetRAM>:
void HT162X_ResetRAM(void)
{
    3120:	3300      	movi      	r3, 0
    uint8_t i;

    //注意: 连续命令,ID只需要开头发一次
    for (i = 0; i < HT_RAM_Length; i++)
    {
        HT_RAM[i] = 0x00;
    3122:	1045      	lrw      	r2, 0x200003e8	// 3134 <HT162X_ResetRAM+0x14>
    3124:	608c      	addu      	r2, r3
    3126:	2300      	addi      	r3, 1
    3128:	3100      	movi      	r1, 0
    for (i = 0; i < HT_RAM_Length; i++)
    312a:	3b50      	cmpnei      	r3, 16
        HT_RAM[i] = 0x00;
    312c:	a220      	st.b      	r1, (r2, 0x0)
    for (i = 0; i < HT_RAM_Length; i++)
    312e:	0bfa      	bt      	0x3122	// 3122 <HT162X_ResetRAM+0x2>
    }
}
    3130:	783c      	jmp      	r15
    3132:	0000      	bkpt
    3134:	200003e8 	.long	0x200003e8

Disassembly of section .text.HT162X_WriteAll:

00003138 <HT162X_WriteAll>:
void HT162X_WriteAll(void)
{
    3138:	14d2      	push      	r4-r5, r15
    uint32_t i;
   
    HT_Device.HT_CS_Handled(0);
    313a:	108f      	lrw      	r4, 0x200003d8	// 3174 <HT162X_WriteAll+0x3c>
    313c:	3000      	movi      	r0, 0
    313e:	9460      	ld.w      	r3, (r4, 0x0)
    3140:	7bcd      	jsr      	r3
    HT162X_Delay(3);
    3142:	3003      	movi      	r0, 3
    3144:	e3ffffa3 	bsr      	0x308a	// 308a <HT162X_Delay>
    HT162X_W_Bit(0b101,3); //Write ID 101
    3148:	3103      	movi      	r1, 3
    314a:	3005      	movi      	r0, 5
    314c:	e3ffffbc 	bsr      	0x30c4	// 30c4 <HT162X_W_Bit>
    HT162X_W_Bit(0,6); //address
    3150:	3106      	movi      	r1, 6
    3152:	3000      	movi      	r0, 0
    3154:	e3ffffb8 	bsr      	0x30c4	// 30c4 <HT162X_W_Bit>
    for (i = 0; i < HT_RAM_Length; i++)
    3158:	3500      	movi      	r5, 0
    {
        HT162X_W_Bit(HT_RAM[i],8);
    315a:	1068      	lrw      	r3, 0x200003e8	// 3178 <HT162X_WriteAll+0x40>
    315c:	60d4      	addu      	r3, r5
    315e:	8300      	ld.b      	r0, (r3, 0x0)
    3160:	3108      	movi      	r1, 8
    for (i = 0; i < HT_RAM_Length; i++)
    3162:	2500      	addi      	r5, 1
        HT162X_W_Bit(HT_RAM[i],8);
    3164:	e3ffffb0 	bsr      	0x30c4	// 30c4 <HT162X_W_Bit>
    for (i = 0; i < HT_RAM_Length; i++)
    3168:	3d50      	cmpnei      	r5, 16
    316a:	0bf8      	bt      	0x315a	// 315a <HT162X_WriteAll+0x22>
    }
    HT_Device.HT_CS_Handled(1);
    316c:	9460      	ld.w      	r3, (r4, 0x0)
    316e:	3001      	movi      	r0, 1
    3170:	7bcd      	jsr      	r3
}
    3172:	1492      	pop      	r4-r5, r15
    3174:	200003d8 	.long	0x200003d8
    3178:	200003e8 	.long	0x200003e8

Disassembly of section .text.HT162X_Init:

0000317c <HT162X_Init>:
void HT162X_Init(void)
{
    317c:	14d1      	push      	r4, r15
    HT162X_PinConfig();
    317e:	e0000325 	bsr      	0x37c8	// 37c8 <HT162X_PinConfig>
    HT_Device.HT_CS_Handled = HT162X_CS_Handled;
    3182:	1094      	lrw      	r4, 0x200003d8	// 31d0 <HT162X_Init+0x54>
    3184:	1074      	lrw      	r3, 0x382c	// 31d4 <HT162X_Init+0x58>
    HT_Device.HT_WR_Handled = HT162X_WR_Handled;
    HT_Device.HT_RD_Handled = HT162X_RD_Handled;
    HT_Device.HT_Data_Handled = HT162X_Data_Handled;
    
    HT_Device.HT_CS_Handled(0);
    3186:	3000      	movi      	r0, 0
    HT_Device.HT_CS_Handled = HT162X_CS_Handled;
    3188:	b460      	st.w      	r3, (r4, 0x0)
    HT_Device.HT_WR_Handled = HT162X_WR_Handled;
    318a:	1074      	lrw      	r3, 0x3864	// 31d8 <HT162X_Init+0x5c>
    318c:	b461      	st.w      	r3, (r4, 0x4)
    HT_Device.HT_RD_Handled = HT162X_RD_Handled;
    318e:	1074      	lrw      	r3, 0x3848	// 31dc <HT162X_Init+0x60>
    3190:	b462      	st.w      	r3, (r4, 0x8)
    HT_Device.HT_Data_Handled = HT162X_Data_Handled;
    3192:	1074      	lrw      	r3, 0x3880	// 31e0 <HT162X_Init+0x64>
    3194:	b463      	st.w      	r3, (r4, 0xc)
    HT_Device.HT_CS_Handled(0);
    3196:	e000034b 	bsr      	0x382c	// 382c <HT162X_CS_Handled>
    HT162X_Delay(3);
    319a:	3003      	movi      	r0, 3
    319c:	e3ffff77 	bsr      	0x308a	// 308a <HT162X_Delay>
    HT162X_W_Bit(0b100,3); //Write Cmd 100
    31a0:	3103      	movi      	r1, 3
    31a2:	3004      	movi      	r0, 4
    31a4:	e3ffff90 	bsr      	0x30c4	// 30c4 <HT162X_W_Bit>
    HT162X_W_Bit((HT_Cmd_RC32K_ON << 1),9);
    31a8:	3109      	movi      	r1, 9
    31aa:	3030      	movi      	r0, 48
    31ac:	e3ffff8c 	bsr      	0x30c4	// 30c4 <HT162X_W_Bit>
    HT162X_W_Bit((HT_Cmd_Sys_ON << 1),9);
    31b0:	3109      	movi      	r1, 9
    31b2:	3002      	movi      	r0, 2
    31b4:	e3ffff88 	bsr      	0x30c4	// 30c4 <HT162X_W_Bit>
    HT162X_W_Bit((HT_Cmd_LCD_ON << 1),9);
    31b8:	3109      	movi      	r1, 9
    31ba:	3006      	movi      	r0, 6
    31bc:	e3ffff84 	bsr      	0x30c4	// 30c4 <HT162X_W_Bit>
    HT_Device.HT_CS_Handled(1);
    31c0:	9460      	ld.w      	r3, (r4, 0x0)
    31c2:	3001      	movi      	r0, 1
    31c4:	7bcd      	jsr      	r3
    HT162X_ResetRAM();
    31c6:	e3ffffad 	bsr      	0x3120	// 3120 <HT162X_ResetRAM>
    HT162X_WriteAll(); 
    31ca:	e3ffffb7 	bsr      	0x3138	// 3138 <HT162X_WriteAll>
}
    31ce:	1491      	pop      	r4, r15
    31d0:	200003d8 	.long	0x200003d8
    31d4:	0000382c 	.long	0x0000382c
    31d8:	00003864 	.long	0x00003864
    31dc:	00003848 	.long	0x00003848
    31e0:	00003880 	.long	0x00003880

Disassembly of section .text.HT162X_RAM_Tx:

000031e4 <HT162X_RAM_Tx>:
    HT162X_W_Bit(ht.address,6);
    HT162X_W_Bit(ht.data,8);
    HT_Device.HT_CS_Handled(1);
}
void HT162X_RAM_Tx(void)
{
    31e4:	14d0      	push      	r15
    HT162X_WriteAll();
    31e6:	e3ffffa9 	bsr      	0x3138	// 3138 <HT162X_WriteAll>
}
    31ea:	1490      	pop      	r15

Disassembly of section .text.Factory_Lcd_F:

000031ec <Factory_Lcd_F>:
#include "../MCU_Mold/MCU_Time.h"
#include "../MCU_Mold/MCU_AbstractTube.h"


void Factory_Lcd_F(uint8_t t, Char_E dis)
{
    31ec:	14d0      	push      	r15
    31ee:	1423      	subi      	r14, r14, 12
    Cad_Dat_S Cad_Dat;

    Cad_Dat.Cad_Com = Cad_Com8; 
    
	if(t == 0)
    31f0:	3840      	cmpnei      	r0, 0
{
    31f2:	6c87      	mov      	r2, r1
	if(t == 0)
    31f4:	080c      	bt      	0x320c	// 320c <Factory_Lcd_F+0x20>
	{
		if(Temp_Param.oven_Err != Pt_Normal)
    31f6:	106d      	lrw      	r3, 0x20000468	// 3228 <Factory_Lcd_F+0x3c>
		{
			Cad_Dat.Cad_Dis = Char_OFF;
			Cad_Dat.Cad_Pin = Cad_Pin_10;
			HT_RAM_Setting(Cad_Dat);
    31f8:	3080      	movi      	r0, 128
		if(Temp_Param.oven_Err != Pt_Normal)
    31fa:	9361      	ld.w      	r3, (r3, 0x4)
			HT_RAM_Setting(Cad_Dat);
    31fc:	310d      	movi      	r1, 13
			HT_RAM_Setting(Cad_Dat);
		}
	}
	else if(t == 2)
	{
		if(Temp_Param.probe2_Err != Pt_Normal)
    31fe:	3b40      	cmpnei      	r3, 0
    3200:	0c02      	bf      	0x3204	// 3204 <Factory_Lcd_F+0x18>
		{
			Cad_Dat.Cad_Dis = Char_OFF;
			Cad_Dat.Cad_Pin = Cad_Pin_13;
			HT_RAM_Setting(Cad_Dat);
    3202:	3201      	movi      	r2, 1
		}
		else 
		{
			Cad_Dat.Cad_Dis = dis;
			Cad_Dat.Cad_Pin = Cad_Pin_13;
			HT_RAM_Setting(Cad_Dat);
    3204:	e3ffff4c 	bsr      	0x309c	// 309c <HT_RAM_Setting>
		}
	}
}
    3208:	1403      	addi      	r14, r14, 12
    320a:	1490      	pop      	r15
	else if(t == 1)
    320c:	3841      	cmpnei      	r0, 1
    320e:	0806      	bt      	0x321a	// 321a <Factory_Lcd_F+0x2e>
		if(Temp_Param.probe1_Err != Pt_Normal)
    3210:	1066      	lrw      	r3, 0x20000468	// 3228 <Factory_Lcd_F+0x3c>
    3212:	8b66      	ld.h      	r3, (r3, 0xc)
			HT_RAM_Setting(Cad_Dat);
    3214:	3080      	movi      	r0, 128
    3216:	3109      	movi      	r1, 9
    3218:	07f3      	br      	0x31fe	// 31fe <Factory_Lcd_F+0x12>
	else if(t == 2)
    321a:	3842      	cmpnei      	r0, 2
    321c:	0bf6      	bt      	0x3208	// 3208 <Factory_Lcd_F+0x1c>
		if(Temp_Param.probe2_Err != Pt_Normal)
    321e:	1063      	lrw      	r3, 0x20000468	// 3228 <Factory_Lcd_F+0x3c>
    3220:	8b69      	ld.h      	r3, (r3, 0x12)
			HT_RAM_Setting(Cad_Dat);
    3222:	3080      	movi      	r0, 128
    3224:	3103      	movi      	r1, 3
    3226:	07ec      	br      	0x31fe	// 31fe <Factory_Lcd_F+0x12>
    3228:	20000468 	.long	0x20000468

Disassembly of section .text.Factory_Lcd_C:

0000322c <Factory_Lcd_C>:
void Factory_Lcd_C(uint8_t t,Char_E dis)
{
    322c:	14d0      	push      	r15
    322e:	1423      	subi      	r14, r14, 12
    Cad_Dat_S Cad_Dat;

	if(t == 0)
    3230:	3840      	cmpnei      	r0, 0
{
    3232:	6c87      	mov      	r2, r1
	if(t == 0)
    3234:	080c      	bt      	0x324c	// 324c <Factory_Lcd_C+0x20>
	{
		Cad_Dat.Cad_Com = Cad_Com8; 
		if(Temp_Param.oven_Err != Pt_Normal)
    3236:	106d      	lrw      	r3, 0x20000468	// 3268 <Factory_Lcd_C+0x3c>
		{
			Cad_Dat.Cad_Dis = Char_OFF;
			Cad_Dat.Cad_Pin = Cad_Pin_12;
			HT_RAM_Setting(Cad_Dat);
    3238:	3080      	movi      	r0, 128
		if(Temp_Param.oven_Err != Pt_Normal)
    323a:	9361      	ld.w      	r3, (r3, 0x4)
			HT_RAM_Setting(Cad_Dat);
    323c:	310f      	movi      	r1, 15
			HT_RAM_Setting(Cad_Dat);
		}
	}
	else if(t == 2)
	{
		if(Temp_Param.probe2_Err != Pt_Normal)
    323e:	3b40      	cmpnei      	r3, 0
    3240:	0c02      	bf      	0x3244	// 3244 <Factory_Lcd_C+0x18>
		{
			Cad_Dat.Cad_Dis = Char_OFF;
			Cad_Dat.Cad_Pin = Cad_Pin_1;
			HT_RAM_Setting(Cad_Dat);
    3242:	3201      	movi      	r2, 1
		}
		else 
		{
			Cad_Dat.Cad_Dis = dis;
			Cad_Dat.Cad_Pin = Cad_Pin_1;
			HT_RAM_Setting(Cad_Dat);
    3244:	e3ffff2c 	bsr      	0x309c	// 309c <HT_RAM_Setting>
		}
	}
}
    3248:	1403      	addi      	r14, r14, 12
    324a:	1490      	pop      	r15
	else if(t == 1)
    324c:	3841      	cmpnei      	r0, 1
    324e:	0806      	bt      	0x325a	// 325a <Factory_Lcd_C+0x2e>
		if(Temp_Param.probe1_Err != Pt_Normal)
    3250:	1066      	lrw      	r3, 0x20000468	// 3268 <Factory_Lcd_C+0x3c>
    3252:	8b66      	ld.h      	r3, (r3, 0xc)
			HT_RAM_Setting(Cad_Dat);
    3254:	9800      	ld.w      	r0, (r14, 0x0)
    3256:	3108      	movi      	r1, 8
    3258:	07f3      	br      	0x323e	// 323e <Factory_Lcd_C+0x12>
	else if(t == 2)
    325a:	3842      	cmpnei      	r0, 2
    325c:	0bf6      	bt      	0x3248	// 3248 <Factory_Lcd_C+0x1c>
		if(Temp_Param.probe2_Err != Pt_Normal)
    325e:	1063      	lrw      	r3, 0x20000468	// 3268 <Factory_Lcd_C+0x3c>
    3260:	8b69      	ld.h      	r3, (r3, 0x12)
			HT_RAM_Setting(Cad_Dat);
    3262:	9800      	ld.w      	r0, (r14, 0x0)
    3264:	3104      	movi      	r1, 4
    3266:	07ec      	br      	0x323e	// 323e <Factory_Lcd_C+0x12>
    3268:	20000468 	.long	0x20000468

Disassembly of section .text.Lcd_F:

0000326c <Lcd_F>:


void Lcd_F(Char_E dis)
{
    326c:	14d2      	push      	r4-r5, r15
    326e:	1423      	subi      	r14, r14, 12
    Cad_Dat_S Cad_Dat;

    Cad_Dat.Cad_Com = Cad_Com8; 
    3270:	3380      	movi      	r3, 128
    
    if((Temp_Param.oven_Err != Pt_Normal) || (Prime_Enable > 0))
    3272:	1095      	lrw      	r4, 0x20000468	// 32c4 <Lcd_F+0x58>
{
    3274:	6d43      	mov      	r5, r0
    Cad_Dat.Cad_Com = Cad_Com8; 
    3276:	b860      	st.w      	r3, (r14, 0x0)
    if((Temp_Param.oven_Err != Pt_Normal) || (Prime_Enable > 0))
    3278:	9461      	ld.w      	r3, (r4, 0x4)
    327a:	3b40      	cmpnei      	r3, 0
    327c:	0805      	bt      	0x3286	// 3286 <Lcd_F+0x1a>
    327e:	1073      	lrw      	r3, 0x2000011a	// 32c8 <Lcd_F+0x5c>
    3280:	8360      	ld.b      	r3, (r3, 0x0)
    3282:	3b40      	cmpnei      	r3, 0
    3284:	0c18      	bf      	0x32b4	// 32b4 <Lcd_F+0x48>
	{
		Cad_Dat.Cad_Dis = Char_OFF;
		Cad_Dat.Cad_Pin = Cad_Pin_10;
		HT_RAM_Setting(Cad_Dat);
    3286:	9800      	ld.w      	r0, (r14, 0x0)
    3288:	310d      	movi      	r1, 13
    328a:	3201      	movi      	r2, 1
	}
	else 
	{
		Cad_Dat.Cad_Dis = dis;
		Cad_Dat.Cad_Pin = Cad_Pin_10;
		HT_RAM_Setting(Cad_Dat);
    328c:	e3ffff08 	bsr      	0x309c	// 309c <HT_RAM_Setting>
	}
	if(Temp_Param.probe1_Err != Pt_Normal)
    3290:	8c66      	ld.h      	r3, (r4, 0xc)
    3292:	3b40      	cmpnei      	r3, 0
	{
		Cad_Dat.Cad_Dis = Char_OFF;
		Cad_Dat.Cad_Pin = Cad_Pin_6;
		HT_RAM_Setting(Cad_Dat);
    3294:	9800      	ld.w      	r0, (r14, 0x0)
    3296:	3109      	movi      	r1, 9
	if(Temp_Param.probe1_Err != Pt_Normal)
    3298:	0c12      	bf      	0x32bc	// 32bc <Lcd_F+0x50>
		HT_RAM_Setting(Cad_Dat);
    329a:	3201      	movi      	r2, 1
	}
	else 
	{
		Cad_Dat.Cad_Dis = dis;
		Cad_Dat.Cad_Pin = Cad_Pin_6;
		HT_RAM_Setting(Cad_Dat);
    329c:	e3ffff00 	bsr      	0x309c	// 309c <HT_RAM_Setting>
	}
	if(Temp_Param.probe2_Err != Pt_Normal)
    32a0:	8c69      	ld.h      	r3, (r4, 0x12)
    32a2:	3b40      	cmpnei      	r3, 0
	{
		Cad_Dat.Cad_Dis = Char_OFF;
		Cad_Dat.Cad_Pin = Cad_Pin_13;
		HT_RAM_Setting(Cad_Dat);
    32a4:	9800      	ld.w      	r0, (r14, 0x0)
    32a6:	3103      	movi      	r1, 3
	if(Temp_Param.probe2_Err != Pt_Normal)
    32a8:	0c0c      	bf      	0x32c0	// 32c0 <Lcd_F+0x54>
		HT_RAM_Setting(Cad_Dat);
    32aa:	3201      	movi      	r2, 1
	}
	else 
	{
		Cad_Dat.Cad_Dis = dis;
		Cad_Dat.Cad_Pin = Cad_Pin_13;
		HT_RAM_Setting(Cad_Dat);
    32ac:	e3fffef8 	bsr      	0x309c	// 309c <HT_RAM_Setting>
	}
}
    32b0:	1403      	addi      	r14, r14, 12
    32b2:	1492      	pop      	r4-r5, r15
		HT_RAM_Setting(Cad_Dat);
    32b4:	3080      	movi      	r0, 128
    32b6:	310d      	movi      	r1, 13
    32b8:	6c97      	mov      	r2, r5
    32ba:	07e9      	br      	0x328c	// 328c <Lcd_F+0x20>
		HT_RAM_Setting(Cad_Dat);
    32bc:	6c97      	mov      	r2, r5
    32be:	07ef      	br      	0x329c	// 329c <Lcd_F+0x30>
		HT_RAM_Setting(Cad_Dat);
    32c0:	6c97      	mov      	r2, r5
    32c2:	07f5      	br      	0x32ac	// 32ac <Lcd_F+0x40>
    32c4:	20000468 	.long	0x20000468
    32c8:	2000011a 	.long	0x2000011a

Disassembly of section .text.Lcd_C:

000032cc <Lcd_C>:
void Lcd_C(Char_E dis)
{
    32cc:	14d2      	push      	r4-r5, r15
    32ce:	1423      	subi      	r14, r14, 12
    Cad_Dat_S Cad_Dat;

    Cad_Dat.Cad_Com = Cad_Com8; 
    32d0:	3380      	movi      	r3, 128
    if((Temp_Param.oven_Err != Pt_Normal) || (Prime_Enable > 0))
    32d2:	1095      	lrw      	r4, 0x20000468	// 3324 <Lcd_C+0x58>
{
    32d4:	6d43      	mov      	r5, r0
    Cad_Dat.Cad_Com = Cad_Com8; 
    32d6:	b860      	st.w      	r3, (r14, 0x0)
    if((Temp_Param.oven_Err != Pt_Normal) || (Prime_Enable > 0))
    32d8:	9461      	ld.w      	r3, (r4, 0x4)
    32da:	3b40      	cmpnei      	r3, 0
    32dc:	0805      	bt      	0x32e6	// 32e6 <Lcd_C+0x1a>
    32de:	1073      	lrw      	r3, 0x2000011a	// 3328 <Lcd_C+0x5c>
    32e0:	8360      	ld.b      	r3, (r3, 0x0)
    32e2:	3b40      	cmpnei      	r3, 0
    32e4:	0c18      	bf      	0x3314	// 3314 <Lcd_C+0x48>
	{
		Cad_Dat.Cad_Dis = Char_OFF;
		Cad_Dat.Cad_Pin = Cad_Pin_12;
		HT_RAM_Setting(Cad_Dat);
    32e6:	9800      	ld.w      	r0, (r14, 0x0)
    32e8:	310f      	movi      	r1, 15
    32ea:	3201      	movi      	r2, 1
	}
	else 
	{
		Cad_Dat.Cad_Dis = dis;
		Cad_Dat.Cad_Pin = Cad_Pin_12;
		HT_RAM_Setting(Cad_Dat);
    32ec:	e3fffed8 	bsr      	0x309c	// 309c <HT_RAM_Setting>
	}
	if(Temp_Param.probe1_Err != Pt_Normal)
    32f0:	8c66      	ld.h      	r3, (r4, 0xc)
    32f2:	3b40      	cmpnei      	r3, 0
	{
		Cad_Dat.Cad_Dis = Char_OFF;
		Cad_Dat.Cad_Pin = Cad_Pin_5;
		HT_RAM_Setting(Cad_Dat);
    32f4:	9800      	ld.w      	r0, (r14, 0x0)
    32f6:	3108      	movi      	r1, 8
	if(Temp_Param.probe1_Err != Pt_Normal)
    32f8:	0c12      	bf      	0x331c	// 331c <Lcd_C+0x50>
		HT_RAM_Setting(Cad_Dat);
    32fa:	3201      	movi      	r2, 1
	}
	else 
	{
		Cad_Dat.Cad_Dis = dis;
		Cad_Dat.Cad_Pin = Cad_Pin_5;
		HT_RAM_Setting(Cad_Dat);
    32fc:	e3fffed0 	bsr      	0x309c	// 309c <HT_RAM_Setting>
	}
	if(Temp_Param.probe2_Err != Pt_Normal)
    3300:	8c69      	ld.h      	r3, (r4, 0x12)
    3302:	3b40      	cmpnei      	r3, 0
	{
		Cad_Dat.Cad_Dis = Char_OFF;
		Cad_Dat.Cad_Pin = Cad_Pin_1;
		HT_RAM_Setting(Cad_Dat);
    3304:	9800      	ld.w      	r0, (r14, 0x0)
    3306:	3104      	movi      	r1, 4
	if(Temp_Param.probe2_Err != Pt_Normal)
    3308:	0c0c      	bf      	0x3320	// 3320 <Lcd_C+0x54>
		HT_RAM_Setting(Cad_Dat);
    330a:	3201      	movi      	r2, 1
	}
	else 
	{
		Cad_Dat.Cad_Dis = dis;
		Cad_Dat.Cad_Pin = Cad_Pin_1;
		HT_RAM_Setting(Cad_Dat);
    330c:	e3fffec8 	bsr      	0x309c	// 309c <HT_RAM_Setting>
	}
}
    3310:	1403      	addi      	r14, r14, 12
    3312:	1492      	pop      	r4-r5, r15
		HT_RAM_Setting(Cad_Dat);
    3314:	3080      	movi      	r0, 128
    3316:	310f      	movi      	r1, 15
    3318:	6c97      	mov      	r2, r5
    331a:	07e9      	br      	0x32ec	// 32ec <Lcd_C+0x20>
		HT_RAM_Setting(Cad_Dat);
    331c:	6c97      	mov      	r2, r5
    331e:	07ef      	br      	0x32fc	// 32fc <Lcd_C+0x30>
		HT_RAM_Setting(Cad_Dat);
    3320:	6c97      	mov      	r2, r5
    3322:	07f5      	br      	0x330c	// 330c <Lcd_C+0x40>
    3324:	20000468 	.long	0x20000468
    3328:	2000011a 	.long	0x2000011a

Disassembly of section .text.Lcd_Wifi:

0000332c <Lcd_Wifi>:
void Lcd_Wifi(Char_E dis)
{
    332c:	14d0      	push      	r15
    332e:	1423      	subi      	r14, r14, 12
    3330:	6c83      	mov      	r2, r0
    Cad_Dat_S Cad_Dat;
    
    Cad_Dat.Cad_Com = Cad_Com5; 
    Cad_Dat.Cad_Pin = Cad_Pin_6;
    3332:	3309      	movi      	r3, 9
    Cad_Dat.Cad_Dis = dis;
    3334:	b802      	st.w      	r0, (r14, 0x8)
    HT_RAM_Setting(Cad_Dat);
    3336:	3109      	movi      	r1, 9
    3338:	3010      	movi      	r0, 16
    Cad_Dat.Cad_Pin = Cad_Pin_6;
    333a:	b861      	st.w      	r3, (r14, 0x4)
    HT_RAM_Setting(Cad_Dat);
    333c:	e3fffeb0 	bsr      	0x309c	// 309c <HT_RAM_Setting>

    Cad_Dat.Cad_Com = Cad_Com4;
    HT_RAM_Setting(Cad_Dat);
    3340:	9821      	ld.w      	r1, (r14, 0x4)
    3342:	9842      	ld.w      	r2, (r14, 0x8)
    3344:	3008      	movi      	r0, 8
    3346:	e3fffeab 	bsr      	0x309c	// 309c <HT_RAM_Setting>

    Cad_Dat.Cad_Com = Cad_Com3;
    HT_RAM_Setting(Cad_Dat);
    334a:	9821      	ld.w      	r1, (r14, 0x4)
    334c:	9842      	ld.w      	r2, (r14, 0x8)
    334e:	3004      	movi      	r0, 4
    3350:	e3fffea6 	bsr      	0x309c	// 309c <HT_RAM_Setting>

    Cad_Dat.Cad_Com = Cad_Com2;
    HT_RAM_Setting(Cad_Dat);
    3354:	9821      	ld.w      	r1, (r14, 0x4)
    3356:	9842      	ld.w      	r2, (r14, 0x8)
    3358:	3002      	movi      	r0, 2
    335a:	e3fffea1 	bsr      	0x309c	// 309c <HT_RAM_Setting>

    Cad_Dat.Cad_Com = Cad_Com1;
    HT_RAM_Setting(Cad_Dat);
    335e:	3001      	movi      	r0, 1
    3360:	9821      	ld.w      	r1, (r14, 0x4)
    3362:	9842      	ld.w      	r2, (r14, 0x8)
    3364:	e3fffe9c 	bsr      	0x309c	// 309c <HT_RAM_Setting>
}
    3368:	1403      	addi      	r14, r14, 12
    336a:	1490      	pop      	r15

Disassembly of section .text.Lcd_Cook:

0000336c <Lcd_Cook>:
void Lcd_Cook(Char_E dis)
{
    336c:	14d0      	push      	r15
    336e:	1423      	subi      	r14, r14, 12
    3370:	6c83      	mov      	r2, r0
    Cad_Dat_S Cad_Dat;

    Cad_Dat.Cad_Com = Cad_Com8;
    Cad_Dat.Cad_Pin = Cad_Pin_7;
    Cad_Dat.Cad_Dis = dis; 
    HT_RAM_Setting(Cad_Dat);
    3372:	310a      	movi      	r1, 10
    3374:	3080      	movi      	r0, 128
    3376:	e3fffe93 	bsr      	0x309c	// 309c <HT_RAM_Setting>
}
    337a:	1403      	addi      	r14, r14, 12
    337c:	1490      	pop      	r15

Disassembly of section .text.Lcd_PSet:

0000337e <Lcd_PSet>:
void Lcd_PSet(Char_E dis)
{
    337e:	14d0      	push      	r15
    3380:	1423      	subi      	r14, r14, 12
    3382:	6c83      	mov      	r2, r0
    Cad_Dat_S Cad_Dat;

    Cad_Dat.Cad_Com = Cad_Com8;
    3384:	3380      	movi      	r3, 128
    Cad_Dat.Cad_Pin = Cad_Pin_4;
    Cad_Dat.Cad_Dis = dis; 
    3386:	b802      	st.w      	r0, (r14, 0x8)
    HT_RAM_Setting(Cad_Dat);
    3388:	3107      	movi      	r1, 7
    338a:	3080      	movi      	r0, 128
    Cad_Dat.Cad_Com = Cad_Com8;
    338c:	b860      	st.w      	r3, (r14, 0x0)
    HT_RAM_Setting(Cad_Dat);
    338e:	e3fffe87 	bsr      	0x309c	// 309c <HT_RAM_Setting>

    Cad_Dat.Cad_Pin = Cad_Pin_11;
    HT_RAM_Setting(Cad_Dat);
    3392:	9800      	ld.w      	r0, (r14, 0x0)
    3394:	310e      	movi      	r1, 14
    3396:	9842      	ld.w      	r2, (r14, 0x8)
    3398:	e3fffe82 	bsr      	0x309c	// 309c <HT_RAM_Setting>
}
    339c:	1403      	addi      	r14, r14, 12
    339e:	1490      	pop      	r15

Disassembly of section .text.Lcd_Actual:

000033a0 <Lcd_Actual>:
void Lcd_Actual(Char_E dis)
{
    33a0:	14d0      	push      	r15
    33a2:	1423      	subi      	r14, r14, 12
    33a4:	6c83      	mov      	r2, r0
    Cad_Dat_S Cad_Dat;

    Cad_Dat.Cad_Com = Cad_Com8;
    Cad_Dat.Cad_Pin = Cad_Pin_8;
    Cad_Dat.Cad_Dis = dis; 
    HT_RAM_Setting(Cad_Dat); 
    33a6:	310b      	movi      	r1, 11
    33a8:	3080      	movi      	r0, 128
    33aa:	e3fffe79 	bsr      	0x309c	// 309c <HT_RAM_Setting>
}
    33ae:	1403      	addi      	r14, r14, 12
    33b0:	1490      	pop      	r15

Disassembly of section .text.Lcd_Timer_Colon:

000033b2 <Lcd_Timer_Colon>:
void Lcd_Timer_Colon(Char_E dis)
{
    33b2:	14d0      	push      	r15
    33b4:	1423      	subi      	r14, r14, 12
    33b6:	6c83      	mov      	r2, r0

    Cad_Dat.Cad_Com = Cad_Com8;
    Cad_Dat.Cad_Pin = Cad_Pin_9;
    Cad_Dat.Cad_Dis = dis; 

    HT_RAM_Setting(Cad_Dat);
    33b8:	310c      	movi      	r1, 12
    33ba:	3080      	movi      	r0, 128
    33bc:	e3fffe70 	bsr      	0x309c	// 309c <HT_RAM_Setting>
}
    33c0:	1403      	addi      	r14, r14, 12
    33c2:	1490      	pop      	r15

Disassembly of section .text.Lcd_Probe1_Show:

000033c4 <Lcd_Probe1_Show>:
void Lcd_Probe1_Show(Char_E dis)
{
    33c4:	14d0      	push      	r15
    33c6:	1423      	subi      	r14, r14, 12
    33c8:	6c83      	mov      	r2, r0
    Cad_Dat_S Cad_Dat;

    Cad_Dat.Cad_Com = Cad_Com6;
    Cad_Dat.Cad_Pin = Cad_Pin_6;
    33ca:	3309      	movi      	r3, 9
    Cad_Dat.Cad_Dis = dis; 
    33cc:	b802      	st.w      	r0, (r14, 0x8)
    HT_RAM_Setting(Cad_Dat); 
    33ce:	3109      	movi      	r1, 9
    33d0:	3020      	movi      	r0, 32
    Cad_Dat.Cad_Pin = Cad_Pin_6;
    33d2:	b861      	st.w      	r3, (r14, 0x4)
    HT_RAM_Setting(Cad_Dat); 
    33d4:	e3fffe64 	bsr      	0x309c	// 309c <HT_RAM_Setting>

    Cad_Dat.Cad_Com = Cad_Com7;
    HT_RAM_Setting(Cad_Dat);
    33d8:	3040      	movi      	r0, 64
    33da:	9821      	ld.w      	r1, (r14, 0x4)
    33dc:	9842      	ld.w      	r2, (r14, 0x8)
    33de:	e3fffe5f 	bsr      	0x309c	// 309c <HT_RAM_Setting>
}
    33e2:	1403      	addi      	r14, r14, 12
    33e4:	1490      	pop      	r15

Disassembly of section .text.Lcd_Probe2_Show:

000033e6 <Lcd_Probe2_Show>:
void Lcd_Probe2_Show(Char_E dis)
{
    33e6:	14d0      	push      	r15
    33e8:	1423      	subi      	r14, r14, 12
    33ea:	6c83      	mov      	r2, r0
    Cad_Dat_S Cad_Dat;

    Cad_Dat.Cad_Com = Cad_Com8;
    33ec:	3380      	movi      	r3, 128
    Cad_Dat.Cad_Pin = Cad_Pin_2;
    Cad_Dat.Cad_Dis = dis; 
    33ee:	b802      	st.w      	r0, (r14, 0x8)
    HT_RAM_Setting(Cad_Dat); 
    33f0:	3105      	movi      	r1, 5
    33f2:	3080      	movi      	r0, 128
    Cad_Dat.Cad_Com = Cad_Com8;
    33f4:	b860      	st.w      	r3, (r14, 0x0)
    HT_RAM_Setting(Cad_Dat); 
    33f6:	e3fffe53 	bsr      	0x309c	// 309c <HT_RAM_Setting>

    Cad_Dat.Cad_Pin = Cad_Pin_3;
    HT_RAM_Setting(Cad_Dat);
    33fa:	9800      	ld.w      	r0, (r14, 0x0)
    33fc:	3106      	movi      	r1, 6
    33fe:	9842      	ld.w      	r2, (r14, 0x8)
    3400:	e3fffe4e 	bsr      	0x309c	// 309c <HT_RAM_Setting>
}
    3404:	1403      	addi      	r14, r14, 12
    3406:	1490      	pop      	r15

Disassembly of section .text.Lcd_Parts_Init:

00003408 <Lcd_Parts_Init>:

void Lcd_Parts_Init(void)
{
    3408:	14d0      	push      	r15
    Lcd_Wifi(Char_OFF);
    340a:	3001      	movi      	r0, 1
    340c:	e3ffff90 	bsr      	0x332c	// 332c <Lcd_Wifi>
    Lcd_Timer_Colon(Char_ON);
    3410:	3000      	movi      	r0, 0
    3412:	e3ffffd0 	bsr      	0x33b2	// 33b2 <Lcd_Timer_Colon>

    Lcd_NumShow(UI_RTDSettings,165);
    3416:	31a5      	movi      	r1, 165
    3418:	3002      	movi      	r0, 2
    341a:	e0000071 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
    Lcd_NumShow(UI_RTD,72);
    341e:	3148      	movi      	r1, 72
    3420:	3001      	movi      	r0, 1
    3422:	e000006d 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
    Lcd_NumShow(UI_Timer_Hour,0);
    3426:	3100      	movi      	r1, 0
    3428:	3003      	movi      	r0, 3
    342a:	e0000069 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
    Lcd_NumShow(UI_Timer_Minute,0);
    342e:	3100      	movi      	r1, 0
    3430:	3004      	movi      	r0, 4
    3432:	e0000065 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
    Lcd_NumShow(UI_ProbeA,0);
    3436:	3100      	movi      	r1, 0
    3438:	3005      	movi      	r0, 5
    343a:	e0000061 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
    Lcd_NumShow(UI_ProbeB,0);
    343e:	3100      	movi      	r1, 0
    3440:	3006      	movi      	r0, 6
    3442:	e000005d 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
}
    3446:	1490      	pop      	r15

Disassembly of section .text.Lcd_Number:

00003448 <Lcd_Number>:
    {0,0}, //.
};


void Lcd_Number(uint8_t num,uint8_t (*array)[2])
{
    3448:	14d4      	push      	r4-r7, r15
    344a:	1423      	subi      	r14, r14, 12
    344c:	6d83      	mov      	r6, r0
    344e:	6d47      	mov      	r5, r1
    3450:	3400      	movi      	r4, 0
    {
        Cad_Dat.Cad_Com = array[i][0];
        Cad_Dat.Cad_Pin = array[i][1];
        if(num < Tube_Length)
        {
            Cad_Dat.Cad_Dis = (((Tube_Encoder[num] >> i) + Nixie_Num_Inverse) & 0x01);
    3452:	10ec      	lrw      	r7, 0x5874	// 3480 <Lcd_Number+0x38>
        Cad_Dat.Cad_Com = array[i][0];
    3454:	8500      	ld.b      	r0, (r5, 0x0)
        Cad_Dat.Cad_Pin = array[i][1];
    3456:	8521      	ld.b      	r1, (r5, 0x1)
        if(num < Tube_Length)
    3458:	3e17      	cmphsi      	r6, 24
        Cad_Dat.Cad_Com = array[i][0];
    345a:	b800      	st.w      	r0, (r14, 0x0)
        Cad_Dat.Cad_Pin = array[i][1];
    345c:	b821      	st.w      	r1, (r14, 0x4)
        if(num < Tube_Length)
    345e:	080b      	bt      	0x3474	// 3474 <Lcd_Number+0x2c>
            Cad_Dat.Cad_Dis = (((Tube_Encoder[num] >> i) + Nixie_Num_Inverse) & 0x01);
    3460:	4662      	lsli      	r3, r6, 2
    3462:	60dc      	addu      	r3, r7
    3464:	9340      	ld.w      	r2, (r3, 0x0)
    3466:	7091      	lsr      	r2, r4
    3468:	2200      	addi      	r2, 1
    346a:	3301      	movi      	r3, 1
    346c:	688c      	and      	r2, r3
    346e:	b842      	st.w      	r2, (r14, 0x8)
            HT_RAM_Setting(Cad_Dat); 
    3470:	e3fffe16 	bsr      	0x309c	// 309c <HT_RAM_Setting>
    3474:	2400      	addi      	r4, 1
    for (i = 0; i < 8; i++)
    3476:	3c48      	cmpnei      	r4, 8
    3478:	2501      	addi      	r5, 2
    347a:	0bed      	bt      	0x3454	// 3454 <Lcd_Number+0xc>
        }
    }
}
    347c:	1403      	addi      	r14, r14, 12
    347e:	1494      	pop      	r4-r7, r15
    3480:	00005874 	.long	0x00005874

Disassembly of section .text.Lcd_Numbers:

00003484 <Lcd_Numbers>:

void Lcd_Numbers(int32_t param,uint8_t (*array4)[2],uint8_t (*array3)[2],uint8_t (*array2)[2],uint8_t (*array1)[2])
{
    3484:	14d4      	push      	r4-r7, r15
    3486:	1421      	subi      	r14, r14, 4
    3488:	6d8f      	mov      	r6, r3
    uint8_t temp;

    if((*array4) != NULL)
    348a:	3940      	cmpnei      	r1, 0
{
    348c:	9866      	ld.w      	r3, (r14, 0x18)
    348e:	6d03      	mov      	r4, r0
    3490:	6dc7      	mov      	r7, r1
    3492:	6d4b      	mov      	r5, r2
    3494:	b860      	st.w      	r3, (r14, 0x0)
    if((*array4) != NULL)
    3496:	0c0c      	bf      	0x34ae	// 34ae <Lcd_Numbers+0x2a>
    {
        temp = (param / 1000) % 10;
    3498:	31fa      	movi      	r1, 250
    349a:	4122      	lsli      	r1, r1, 2
    349c:	e3fffdac 	bsr      	0x2ff4	// 2ff4 <__divsi3>
    34a0:	310a      	movi      	r1, 10
    34a2:	e3fffdcd 	bsr      	0x303c	// 303c <__modsi3>
        Lcd_Number(temp,array4);
    34a6:	7400      	zextb      	r0, r0
    34a8:	6c5f      	mov      	r1, r7
    34aa:	e3ffffcf 	bsr      	0x3448	// 3448 <Lcd_Number>
    }
    if((*array3) != NULL)
    34ae:	3d40      	cmpnei      	r5, 0
    34b0:	0c0c      	bf      	0x34c8	// 34c8 <Lcd_Numbers+0x44>
    {
        temp = (param / 100) % 10;
    34b2:	3164      	movi      	r1, 100
    34b4:	6c13      	mov      	r0, r4
    34b6:	e3fffd9f 	bsr      	0x2ff4	// 2ff4 <__divsi3>
    34ba:	310a      	movi      	r1, 10
    34bc:	e3fffdc0 	bsr      	0x303c	// 303c <__modsi3>
        Lcd_Number(temp,array3);
    34c0:	7400      	zextb      	r0, r0
    34c2:	6c57      	mov      	r1, r5
    34c4:	e3ffffc2 	bsr      	0x3448	// 3448 <Lcd_Number>
    }
    if((*array2) != NULL)
    34c8:	3e40      	cmpnei      	r6, 0
    34ca:	0c0c      	bf      	0x34e2	// 34e2 <Lcd_Numbers+0x5e>
    {
        temp = (param / 10) % 10;
    34cc:	310a      	movi      	r1, 10
    34ce:	6c13      	mov      	r0, r4
    34d0:	e3fffd92 	bsr      	0x2ff4	// 2ff4 <__divsi3>
    34d4:	310a      	movi      	r1, 10
    34d6:	e3fffdb3 	bsr      	0x303c	// 303c <__modsi3>
        Lcd_Number(temp,array2);
    34da:	7400      	zextb      	r0, r0
    34dc:	6c5b      	mov      	r1, r6
    34de:	e3ffffb5 	bsr      	0x3448	// 3448 <Lcd_Number>
    }
    if((*array1) != NULL)
    34e2:	9860      	ld.w      	r3, (r14, 0x0)
    34e4:	3b40      	cmpnei      	r3, 0
    34e6:	0c09      	bf      	0x34f8	// 34f8 <Lcd_Numbers+0x74>
    {
        temp = param % 10;
    34e8:	310a      	movi      	r1, 10
    34ea:	6c13      	mov      	r0, r4
    34ec:	e3fffda8 	bsr      	0x303c	// 303c <__modsi3>
        Lcd_Number(temp,array1);
    34f0:	7400      	zextb      	r0, r0
    34f2:	9820      	ld.w      	r1, (r14, 0x0)
    34f4:	e3ffffaa 	bsr      	0x3448	// 3448 <Lcd_Number>
    }
}
    34f8:	1401      	addi      	r14, r14, 4
    34fa:	1494      	pop      	r4-r7, r15

Disassembly of section .text.Lcd_NumShow:

000034fc <Lcd_NumShow>:

void Lcd_NumShow(UI_Number_E t,int32_t param)
{
    34fc:	14d2      	push      	r4-r5, r15
    34fe:	1421      	subi      	r14, r14, 4
    if(t == UI_Timer_Hour)
    3500:	3843      	cmpnei      	r0, 3
{
    3502:	6d07      	mov      	r4, r1
    3504:	03a2      	lrw      	r5, 0x200003f8	// 3778 <Lcd_NumShow+0x27c>
    if(t == UI_Timer_Hour)
    3506:	0815      	bt      	0x3530	// 3530 <Lcd_NumShow+0x34>
    {
        param *= 100;
    3508:	3064      	movi      	r0, 100
        Lcd_Numbers(param,Timer_seg2,Timer_seg3,NULL,NULL);
    350a:	3300      	movi      	r3, 0
        param *= 100;
    350c:	7c04      	mult      	r0, r1
        Lcd_Numbers(param,Timer_seg2,Timer_seg3,NULL,NULL);
    350e:	b860      	st.w      	r3, (r14, 0x0)
    3510:	0324      	lrw      	r1, 0x5794	// 377c <Lcd_NumShow+0x280>
    3512:	0343      	lrw      	r2, 0x5784	// 3780 <Lcd_NumShow+0x284>
    }
    else if(t == UI_Timer_Minute) Lcd_Numbers(param,NULL,NULL,Timer_seg4,Timer_seg5);
    3514:	e3ffffb8 	bsr      	0x3484	// 3484 <Lcd_Numbers>
			Lcd_Number(Tube_Encoder_n,Probe2_seg1);
			Lcd_Number(Tube_Encoder_o,Probe2_seg2);
			Lcd_Number(Tube_Encoder_P,Probe2_seg3);
		}
	}
    else if(UI_System.Timer1.Actual > 0)
    3518:	9560      	ld.w      	r3, (r5, 0x0)
    351a:	3b40      	cmpnei      	r3, 0
    351c:	0852      	bt      	0x35c0	// 35c0 <Lcd_NumShow+0xc4>
    else
    { //关机状态(不断电源,只关闭屏幕)
        // if(t == UI_RTD) Lcd_Numbers(LcdSeg_Shine_OFF,NULL,TempAct_seg1,TempAct_seg2,TempAct_seg3);
        // Lcd_Numbers(LcdSeg_Shine_OFF,Timer_seg1,Timer_seg2,NULL,NULL);
        // Lcd_Numbers(LcdSeg_Shine_OFF,NULL,NULL,Timer_seg3,Timer_seg4);
        Lcd_Wifi(Char_OFF);
    351e:	3001      	movi      	r0, 1
    3520:	e3ffff06 	bsr      	0x332c	// 332c <Lcd_Wifi>
        Lcd_Backlight_OFF;
    3524:	0367      	lrw      	r3, 0x2000004c	// 3784 <Lcd_NumShow+0x288>
    3526:	3109      	movi      	r1, 9
    3528:	9300      	ld.w      	r0, (r3, 0x0)
    352a:	e3fff417 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
    }
}
    352e:	0449      	br      	0x35c0	// 35c0 <Lcd_NumShow+0xc4>
    else if(t == UI_Timer_Minute) Lcd_Numbers(param,NULL,NULL,Timer_seg4,Timer_seg5);
    3530:	3844      	cmpnei      	r0, 4
    3532:	0808      	bt      	0x3542	// 3542 <Lcd_NumShow+0x46>
    3534:	036a      	lrw      	r3, 0x57b4	// 3788 <Lcd_NumShow+0x28c>
    3536:	b860      	st.w      	r3, (r14, 0x0)
    3538:	3200      	movi      	r2, 0
    353a:	036a      	lrw      	r3, 0x57a4	// 378c <Lcd_NumShow+0x290>
    353c:	3100      	movi      	r1, 0
    353e:	6c13      	mov      	r0, r4
    3540:	07ea      	br      	0x3514	// 3514 <Lcd_NumShow+0x18>
    else if(t == UI_PSet)
    3542:	3847      	cmpnei      	r0, 7
    3544:	080a      	bt      	0x3558	// 3558 <Lcd_NumShow+0x5c>
        temp = param % 10;
    3546:	310a      	movi      	r1, 10
    3548:	6c13      	mov      	r0, r4
    354a:	e3fffd79 	bsr      	0x303c	// 303c <__modsi3>
        Lcd_Number(temp,array1);
    354e:	7400      	zextb      	r0, r0
    3550:	032f      	lrw      	r1, 0x57c4	// 3790 <Lcd_NumShow+0x294>
    3552:	e3ffff7b 	bsr      	0x3448	// 3448 <Lcd_Number>
    3556:	07e1      	br      	0x3518	// 3518 <Lcd_NumShow+0x1c>
	if(t == UI_RTD)
    3558:	3841      	cmpnei      	r0, 1
    355a:	08ea      	bt      	0x372e	// 372e <Lcd_NumShow+0x232>
		if(UI_System.Grill_Unit == Unit_C)
    355c:	9575      	ld.w      	r3, (r5, 0x54)
    355e:	3b42      	cmpnei      	r3, 2
    3560:	0805      	bt      	0x356a	// 356a <Lcd_NumShow+0x6e>
			param = F_Convert_C(param);
    3562:	6c07      	mov      	r0, r1
    3564:	e000034e 	bsr      	0x3c00	// 3c00 <F_Convert_C>
    3568:	6d03      	mov      	r4, r0
		if(Temp_Param.oven_Err == Pt_Normal)
    356a:	03b4      	lrw      	r5, 0x20000468	// 3794 <Lcd_NumShow+0x298>
    356c:	9561      	ld.w      	r3, (r5, 0x4)
    356e:	3b40      	cmpnei      	r3, 0
    3570:	0835      	bt      	0x35da	// 35da <Lcd_NumShow+0xde>
            if(Prime_Enable == 0)
    3572:	0375      	lrw      	r3, 0x2000011a	// 3798 <Lcd_NumShow+0x29c>
    3574:	8360      	ld.b      	r3, (r3, 0x0)
    3576:	3b40      	cmpnei      	r3, 0
    3578:	0826      	bt      	0x35c4	// 35c4 <Lcd_NumShow+0xc8>
                if(param < 0)
    357a:	3cdf      	btsti      	r4, 31
    357c:	0c1a      	bf      	0x35b0	// 35b0 <Lcd_NumShow+0xb4>
                    param = -param; 
    357e:	5b91      	subu      	r4, r3, r4
                    Lcd_Number(Tube_Encoder_Crossbar,TempAct_seg1);
    3580:	0338      	lrw      	r1, 0x57d4	// 379c <Lcd_NumShow+0x2a0>
    3582:	300b      	movi      	r0, 11
    3584:	e3ffff62 	bsr      	0x3448	// 3448 <Lcd_Number>
                    Lcd_Number((param / 10) % 10,TempAct_seg2);
    3588:	310a      	movi      	r1, 10
    358a:	6c13      	mov      	r0, r4
    358c:	e3fffd34 	bsr      	0x2ff4	// 2ff4 <__divsi3>
    3590:	310a      	movi      	r1, 10
    3592:	e3fffd55 	bsr      	0x303c	// 303c <__modsi3>
    3596:	7400      	zextb      	r0, r0
    3598:	033d      	lrw      	r1, 0x57e4	// 37a0 <Lcd_NumShow+0x2a4>
    359a:	e3ffff57 	bsr      	0x3448	// 3448 <Lcd_Number>
                    Lcd_Number(param % 10,TempAct_seg3);
    359e:	310a      	movi      	r1, 10
    35a0:	6c13      	mov      	r0, r4
    35a2:	e3fffd4d 	bsr      	0x303c	// 303c <__modsi3>
    35a6:	7400      	zextb      	r0, r0
    35a8:	133f      	lrw      	r1, 0x57f4	// 37a4 <Lcd_NumShow+0x2a8>
			Lcd_Number(Tube_Encoder_P,Probe2_seg3);
    35aa:	e3ffff4f 	bsr      	0x3448	// 3448 <Lcd_Number>
    35ae:	0409      	br      	0x35c0	// 35c0 <Lcd_NumShow+0xc4>
			    else Lcd_Numbers(param,NULL,TempAct_seg1,TempAct_seg2,TempAct_seg3);
    35b0:	137d      	lrw      	r3, 0x57f4	// 37a4 <Lcd_NumShow+0x2a8>
    35b2:	b860      	st.w      	r3, (r14, 0x0)
    35b4:	135a      	lrw      	r2, 0x57d4	// 379c <Lcd_NumShow+0x2a0>
    35b6:	137b      	lrw      	r3, 0x57e4	// 37a0 <Lcd_NumShow+0x2a4>
            else Lcd_Numbers(param,NULL,Probe1_seg1,Probe1_seg2,Probe1_seg3);
    35b8:	3100      	movi      	r1, 0
    35ba:	6c13      	mov      	r0, r4
    35bc:	e3ffff64 	bsr      	0x3484	// 3484 <Lcd_Numbers>
}
    35c0:	1401      	addi      	r14, r14, 4
    35c2:	1492      	pop      	r4-r5, r15
                Lcd_Number(Tube_Encoder_P,TempAct_seg1);
    35c4:	1336      	lrw      	r1, 0x57d4	// 379c <Lcd_NumShow+0x2a0>
    35c6:	3011      	movi      	r0, 17
    35c8:	e3ffff40 	bsr      	0x3448	// 3448 <Lcd_Number>
                Lcd_Number(Tube_Encoder_r,TempAct_seg2);
    35cc:	1335      	lrw      	r1, 0x57e4	// 37a0 <Lcd_NumShow+0x2a4>
    35ce:	300e      	movi      	r0, 14
    35d0:	e3ffff3c 	bsr      	0x3448	// 3448 <Lcd_Number>
                Lcd_Number(Tube_Encoder_i,TempAct_seg3);
    35d4:	1334      	lrw      	r1, 0x57f4	// 37a4 <Lcd_NumShow+0x2a8>
    35d6:	3016      	movi      	r0, 22
    35d8:	07e9      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
			Lcd_Number(Tube_Encoder_E_Char,TempAct_seg1);
    35da:	1331      	lrw      	r1, 0x57d4	// 379c <Lcd_NumShow+0x2a0>
    35dc:	300d      	movi      	r0, 13
    35de:	e3ffff35 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_r,TempAct_seg2);
    35e2:	1330      	lrw      	r1, 0x57e4	// 37a0 <Lcd_NumShow+0x2a4>
    35e4:	300e      	movi      	r0, 14
    35e6:	e3ffff31 	bsr      	0x3448	// 3448 <Lcd_Number>
            if(Temp_Param.oven_Err == Pt_Open) Lcd_Number(Tube_Encoder_O,TempAct_seg3);
    35ea:	9561      	ld.w      	r3, (r5, 0x4)
    35ec:	3b41      	cmpnei      	r3, 1
    35ee:	0804      	bt      	0x35f6	// 35f6 <Lcd_NumShow+0xfa>
    35f0:	132d      	lrw      	r1, 0x57f4	// 37a4 <Lcd_NumShow+0x2a8>
    35f2:	3015      	movi      	r0, 21
    35f4:	07db      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
            else if(Temp_Param.oven_Err == Pt_Short) Lcd_Number(Tube_Encoder_S,TempAct_seg3);
    35f6:	3b42      	cmpnei      	r3, 2
    35f8:	0804      	bt      	0x3600	// 3600 <Lcd_NumShow+0x104>
    35fa:	132b      	lrw      	r1, 0x57f4	// 37a4 <Lcd_NumShow+0x2a8>
    35fc:	3012      	movi      	r0, 18
    35fe:	07d6      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
            else if(Temp_Param.oven_Err == Pt_HighTemp) Lcd_Number(Tube_Encoder_H,TempAct_seg3);
    3600:	3b44      	cmpnei      	r3, 4
    3602:	0804      	bt      	0x360a	// 360a <Lcd_NumShow+0x10e>
    3604:	1328      	lrw      	r1, 0x57f4	// 37a4 <Lcd_NumShow+0x2a8>
    3606:	3013      	movi      	r0, 19
    3608:	07d1      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
            else if(Temp_Param.oven_Err == Pt_LowTemp) Lcd_Number(Tube_Encoder_L,TempAct_seg3);
    360a:	3b43      	cmpnei      	r3, 3
    360c:	0bda      	bt      	0x35c0	// 35c0 <Lcd_NumShow+0xc4>
    360e:	1326      	lrw      	r1, 0x57f4	// 37a4 <Lcd_NumShow+0x2a8>
    3610:	3014      	movi      	r0, 20
    3612:	07cc      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
            Lcd_Cook(Char_ON);
    3614:	3000      	movi      	r0, 0
    3616:	e3fffeab 	bsr      	0x336c	// 336c <Lcd_Cook>
            Lcd_PSet(Char_OFF);
    361a:	3001      	movi      	r0, 1
    361c:	e3fffeb1 	bsr      	0x337e	// 337e <Lcd_PSet>
            if(Temp_Param.oven_set >= 450)
    3620:	8d41      	ld.h      	r2, (r5, 0x2)
    3622:	1362      	lrw      	r3, 0x1c1	// 37a8 <Lcd_NumShow+0x2ac>
    3624:	648c      	cmphs      	r3, r2
    3626:	080f      	bt      	0x3644	// 3644 <Lcd_NumShow+0x148>
                Lcd_Number(Tube_Encoder_Space,Timer_seg1);
    3628:	1321      	lrw      	r1, 0x5804	// 37ac <Lcd_NumShow+0x2b0>
    362a:	300a      	movi      	r0, 10
    362c:	e3ffff0e 	bsr      	0x3448	// 3448 <Lcd_Number>
                Lcd_Number(Tube_Encoder_H,Timer_seg2);
    3630:	1233      	lrw      	r1, 0x5794	// 377c <Lcd_NumShow+0x280>
    3632:	3013      	movi      	r0, 19
    3634:	e3ffff0a 	bsr      	0x3448	// 3448 <Lcd_Number>
                Lcd_Number(1,Timer_seg3);
    3638:	1232      	lrw      	r1, 0x5784	// 3780 <Lcd_NumShow+0x284>
    363a:	3001      	movi      	r0, 1
    363c:	e3ffff06 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_Space,PSet_seg1);
    3640:	1234      	lrw      	r1, 0x57c4	// 3790 <Lcd_NumShow+0x294>
    3642:	0490      	br      	0x3762	// 3762 <Lcd_NumShow+0x266>
            else Lcd_Numbers(param,NULL,Timer_seg1,Timer_seg2,Timer_seg3);
    3644:	124f      	lrw      	r2, 0x5784	// 3780 <Lcd_NumShow+0x284>
    3646:	3310      	movi      	r3, 16
    3648:	b840      	st.w      	r2, (r14, 0x0)
    364a:	60c8      	addu      	r3, r2
    364c:	3100      	movi      	r1, 0
    364e:	227f      	addi      	r2, 128
    3650:	6c13      	mov      	r0, r4
    3652:	e3ffff19 	bsr      	0x3484	// 3484 <Lcd_Numbers>
    3656:	07f5      	br      	0x3640	// 3640 <Lcd_NumShow+0x144>
	else if(t == UI_ProbeA)
    3658:	3845      	cmpnei      	r0, 5
    365a:	0835      	bt      	0x36c4	// 36c4 <Lcd_NumShow+0x1c8>
		if(UI_System.Grill_Unit == Unit_C)
    365c:	9575      	ld.w      	r3, (r5, 0x54)
    365e:	3b42      	cmpnei      	r3, 2
    3660:	0805      	bt      	0x366a	// 366a <Lcd_NumShow+0x16e>
			param = F_Convert_C(param);
    3662:	6c13      	mov      	r0, r4
    3664:	e00002ce 	bsr      	0x3c00	// 3c00 <F_Convert_C>
    3668:	6d03      	mov      	r4, r0
		if(Temp_Param.probe1_Err == Pt_Normal)
    366a:	126b      	lrw      	r3, 0x20000468	// 3794 <Lcd_NumShow+0x298>
    366c:	8b66      	ld.h      	r3, (r3, 0xc)
    366e:	3b40      	cmpnei      	r3, 0
    3670:	081f      	bt      	0x36ae	// 36ae <Lcd_NumShow+0x1b2>
            if(param < 0)
    3672:	3cdf      	btsti      	r4, 31
    3674:	0c18      	bf      	0x36a4	// 36a4 <Lcd_NumShow+0x1a8>
                param = -param; 
    3676:	5b91      	subu      	r4, r3, r4
                Lcd_Number(Tube_Encoder_Crossbar,Probe1_seg1);
    3678:	122e      	lrw      	r1, 0x5814	// 37b0 <Lcd_NumShow+0x2b4>
    367a:	300b      	movi      	r0, 11
    367c:	e3fffee6 	bsr      	0x3448	// 3448 <Lcd_Number>
                Lcd_Number((param / 10) % 10,Probe1_seg2);
    3680:	310a      	movi      	r1, 10
    3682:	6c13      	mov      	r0, r4
    3684:	e3fffcb8 	bsr      	0x2ff4	// 2ff4 <__divsi3>
    3688:	310a      	movi      	r1, 10
    368a:	e3fffcd9 	bsr      	0x303c	// 303c <__modsi3>
    368e:	7400      	zextb      	r0, r0
    3690:	1229      	lrw      	r1, 0x5824	// 37b4 <Lcd_NumShow+0x2b8>
    3692:	e3fffedb 	bsr      	0x3448	// 3448 <Lcd_Number>
                Lcd_Number(param % 10,Probe1_seg3);
    3696:	310a      	movi      	r1, 10
    3698:	6c13      	mov      	r0, r4
    369a:	e3fffcd1 	bsr      	0x303c	// 303c <__modsi3>
    369e:	7400      	zextb      	r0, r0
    36a0:	1226      	lrw      	r1, 0x5834	// 37b8 <Lcd_NumShow+0x2bc>
    36a2:	0784      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
            else Lcd_Numbers(param,NULL,Probe1_seg1,Probe1_seg2,Probe1_seg3);
    36a4:	1265      	lrw      	r3, 0x5834	// 37b8 <Lcd_NumShow+0x2bc>
    36a6:	b860      	st.w      	r3, (r14, 0x0)
    36a8:	1242      	lrw      	r2, 0x5814	// 37b0 <Lcd_NumShow+0x2b4>
    36aa:	1263      	lrw      	r3, 0x5824	// 37b4 <Lcd_NumShow+0x2b8>
    36ac:	0786      	br      	0x35b8	// 35b8 <Lcd_NumShow+0xbc>
			Lcd_Number(Tube_Encoder_n,Probe1_seg1);
    36ae:	1221      	lrw      	r1, 0x5814	// 37b0 <Lcd_NumShow+0x2b4>
    36b0:	300f      	movi      	r0, 15
    36b2:	e3fffecb 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_o,Probe1_seg2);
    36b6:	1220      	lrw      	r1, 0x5824	// 37b4 <Lcd_NumShow+0x2b8>
    36b8:	3010      	movi      	r0, 16
    36ba:	e3fffec7 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_P,Probe1_seg3);
    36be:	113f      	lrw      	r1, 0x5834	// 37b8 <Lcd_NumShow+0x2bc>
			Lcd_Number(Tube_Encoder_P,Probe2_seg3);
    36c0:	3011      	movi      	r0, 17
    36c2:	0774      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
	else if(t == UI_ProbeB)
    36c4:	3846      	cmpnei      	r0, 6
    36c6:	0b29      	bt      	0x3518	// 3518 <Lcd_NumShow+0x1c>
		if(UI_System.Grill_Unit == Unit_C)
    36c8:	9575      	ld.w      	r3, (r5, 0x54)
    36ca:	3b42      	cmpnei      	r3, 2
    36cc:	0805      	bt      	0x36d6	// 36d6 <Lcd_NumShow+0x1da>
			param = F_Convert_C(param);
    36ce:	6c13      	mov      	r0, r4
    36d0:	e0000298 	bsr      	0x3c00	// 3c00 <F_Convert_C>
    36d4:	6d03      	mov      	r4, r0
		if(Temp_Param.probe2_Err == Pt_Normal)
    36d6:	1170      	lrw      	r3, 0x20000468	// 3794 <Lcd_NumShow+0x298>
    36d8:	8b69      	ld.h      	r3, (r3, 0x12)
    36da:	3b40      	cmpnei      	r3, 0
    36dc:	081f      	bt      	0x371a	// 371a <Lcd_NumShow+0x21e>
            if(param < 0)
    36de:	3cdf      	btsti      	r4, 31
    36e0:	0c18      	bf      	0x3710	// 3710 <Lcd_NumShow+0x214>
                param = -param; 
    36e2:	5b91      	subu      	r4, r3, r4
                Lcd_Number(Tube_Encoder_Crossbar,Probe2_seg1);
    36e4:	1136      	lrw      	r1, 0x5844	// 37bc <Lcd_NumShow+0x2c0>
    36e6:	300b      	movi      	r0, 11
    36e8:	e3fffeb0 	bsr      	0x3448	// 3448 <Lcd_Number>
                Lcd_Number((param / 10) % 10,Probe2_seg2);
    36ec:	310a      	movi      	r1, 10
    36ee:	6c13      	mov      	r0, r4
    36f0:	e3fffc82 	bsr      	0x2ff4	// 2ff4 <__divsi3>
    36f4:	310a      	movi      	r1, 10
    36f6:	e3fffca3 	bsr      	0x303c	// 303c <__modsi3>
    36fa:	7400      	zextb      	r0, r0
    36fc:	1131      	lrw      	r1, 0x5854	// 37c0 <Lcd_NumShow+0x2c4>
    36fe:	e3fffea5 	bsr      	0x3448	// 3448 <Lcd_Number>
                Lcd_Number(param % 10,Probe2_seg3);
    3702:	310a      	movi      	r1, 10
    3704:	6c13      	mov      	r0, r4
    3706:	e3fffc9b 	bsr      	0x303c	// 303c <__modsi3>
    370a:	7400      	zextb      	r0, r0
    370c:	112e      	lrw      	r1, 0x5864	// 37c4 <Lcd_NumShow+0x2c8>
    370e:	074e      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
            else Lcd_Numbers(param,NULL,Probe2_seg1,Probe2_seg2,Probe2_seg3);
    3710:	116d      	lrw      	r3, 0x5864	// 37c4 <Lcd_NumShow+0x2c8>
    3712:	b860      	st.w      	r3, (r14, 0x0)
    3714:	114a      	lrw      	r2, 0x5844	// 37bc <Lcd_NumShow+0x2c0>
    3716:	116b      	lrw      	r3, 0x5854	// 37c0 <Lcd_NumShow+0x2c4>
    3718:	0750      	br      	0x35b8	// 35b8 <Lcd_NumShow+0xbc>
			Lcd_Number(Tube_Encoder_n,Probe2_seg1);
    371a:	1129      	lrw      	r1, 0x5844	// 37bc <Lcd_NumShow+0x2c0>
    371c:	300f      	movi      	r0, 15
    371e:	e3fffe95 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_o,Probe2_seg2);
    3722:	1128      	lrw      	r1, 0x5854	// 37c0 <Lcd_NumShow+0x2c4>
    3724:	3010      	movi      	r0, 16
    3726:	e3fffe91 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_P,Probe2_seg3);
    372a:	1127      	lrw      	r1, 0x5864	// 37c4 <Lcd_NumShow+0x2c8>
    372c:	07ca      	br      	0x36c0	// 36c0 <Lcd_NumShow+0x1c4>
	else if(t == UI_RTDSettings)
    372e:	3842      	cmpnei      	r0, 2
    3730:	0b94      	bt      	0x3658	// 3658 <Lcd_NumShow+0x15c>
		if(UI_System.Grill_Unit == Unit_C)
    3732:	9575      	ld.w      	r3, (r5, 0x54)
    3734:	3b42      	cmpnei      	r3, 2
    3736:	0805      	bt      	0x3740	// 3740 <Lcd_NumShow+0x244>
			param = F_Convert_C(param);
    3738:	6c13      	mov      	r0, r4
    373a:	e0000263 	bsr      	0x3c00	// 3c00 <F_Convert_C>
    373e:	6d03      	mov      	r4, r0
        if(Temp_Param.oven_set == Temp_Set_Smoke)
    3740:	10b5      	lrw      	r5, 0x20000468	// 3794 <Lcd_NumShow+0x298>
    3742:	8d41      	ld.h      	r2, (r5, 0x2)
    3744:	33b4      	movi      	r3, 180
    3746:	64ca      	cmpne      	r2, r3
    3748:	0b66      	bt      	0x3614	// 3614 <Lcd_NumShow+0x118>
            Lcd_Cook(Char_OFF);
    374a:	3001      	movi      	r0, 1
    374c:	e3fffe10 	bsr      	0x336c	// 336c <Lcd_Cook>
            Lcd_Number(Tube_Encoder_Space,Timer_seg1);
    3750:	1037      	lrw      	r1, 0x5804	// 37ac <Lcd_NumShow+0x2b0>
    3752:	300a      	movi      	r0, 10
    3754:	e3fffe7a 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_Space,Timer_seg2);
    3758:	1029      	lrw      	r1, 0x5794	// 377c <Lcd_NumShow+0x280>
    375a:	300a      	movi      	r0, 10
    375c:	e3fffe76 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_Space,Timer_seg3);
    3760:	1028      	lrw      	r1, 0x5784	// 3780 <Lcd_NumShow+0x284>
			Lcd_Number(Tube_Encoder_Space,PSet_seg1);
    3762:	300a      	movi      	r0, 10
    3764:	e3fffe72 	bsr      	0x3448	// 3448 <Lcd_Number>
        Lcd_Number(Tube_Encoder_Space,Timer_seg4);
    3768:	1029      	lrw      	r1, 0x57a4	// 378c <Lcd_NumShow+0x290>
    376a:	300a      	movi      	r0, 10
    376c:	e3fffe6e 	bsr      	0x3448	// 3448 <Lcd_Number>
        Lcd_Number(Tube_Encoder_Space,Timer_seg5);
    3770:	1026      	lrw      	r1, 0x57b4	// 3788 <Lcd_NumShow+0x28c>
    3772:	300a      	movi      	r0, 10
    3774:	071b      	br      	0x35aa	// 35aa <Lcd_NumShow+0xae>
    3776:	0000      	bkpt
    3778:	200003f8 	.long	0x200003f8
    377c:	00005794 	.long	0x00005794
    3780:	00005784 	.long	0x00005784
    3784:	2000004c 	.long	0x2000004c
    3788:	000057b4 	.long	0x000057b4
    378c:	000057a4 	.long	0x000057a4
    3790:	000057c4 	.long	0x000057c4
    3794:	20000468 	.long	0x20000468
    3798:	2000011a 	.long	0x2000011a
    379c:	000057d4 	.long	0x000057d4
    37a0:	000057e4 	.long	0x000057e4
    37a4:	000057f4 	.long	0x000057f4
    37a8:	000001c1 	.long	0x000001c1
    37ac:	00005804 	.long	0x00005804
    37b0:	00005814 	.long	0x00005814
    37b4:	00005824 	.long	0x00005824
    37b8:	00005834 	.long	0x00005834
    37bc:	00005844 	.long	0x00005844
    37c0:	00005854 	.long	0x00005854
    37c4:	00005864 	.long	0x00005864

Disassembly of section .text.HT162X_PinConfig:

000037c8 <HT162X_PinConfig>:
#include "../Y36_LCD_horizontal/chip.h"
#include "HT162X_Pin.h"


void HT162X_PinConfig(void)
{
    37c8:	14d1      	push      	r4, r15
    GPIO_Init(GPIOA0,IO_Lcd_Backlight,Output);
    37ca:	1098      	lrw      	r4, 0x2000004c	// 3828 <HT162X_PinConfig+0x60>
    37cc:	3200      	movi      	r2, 0
    37ce:	9400      	ld.w      	r0, (r4, 0x0)
    37d0:	3109      	movi      	r1, 9
    37d2:	e3fff14b 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Lcd_CS,Output);
    37d6:	9400      	ld.w      	r0, (r4, 0x0)
    37d8:	3200      	movi      	r2, 0
    37da:	3104      	movi      	r1, 4
    37dc:	e3fff146 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Lcd_WR,Output);
    37e0:	9400      	ld.w      	r0, (r4, 0x0)
    37e2:	3200      	movi      	r2, 0
    37e4:	3103      	movi      	r1, 3
    37e6:	e3fff141 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Lcd_RD,Output);
    37ea:	9400      	ld.w      	r0, (r4, 0x0)
    37ec:	3200      	movi      	r2, 0
    37ee:	3100      	movi      	r1, 0
    37f0:	e3fff13c 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Lcd_Data,Output);
    37f4:	3200      	movi      	r2, 0
    37f6:	9400      	ld.w      	r0, (r4, 0x0)
    37f8:	3101      	movi      	r1, 1
    37fa:	e3fff137 	bsr      	0x1a68	// 1a68 <GPIO_Init>

    Lcd_Backlight_ON;
    37fe:	9400      	ld.w      	r0, (r4, 0x0)
    3800:	3109      	movi      	r1, 9
    3802:	e3fff2a7 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    Lcd_CS_H;
    3806:	9400      	ld.w      	r0, (r4, 0x0)
    3808:	3104      	movi      	r1, 4
    380a:	e3fff2a3 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    Lcd_RD_H;
    380e:	9400      	ld.w      	r0, (r4, 0x0)
    3810:	3100      	movi      	r1, 0
    3812:	e3fff29f 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    Lcd_WR_H;
    3816:	9400      	ld.w      	r0, (r4, 0x0)
    3818:	3103      	movi      	r1, 3
    381a:	e3fff29b 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    IO_Lcd_Data_H;
    381e:	9400      	ld.w      	r0, (r4, 0x0)
    3820:	3101      	movi      	r1, 1
    3822:	e3fff297 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
}
    3826:	1491      	pop      	r4, r15
    3828:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT162X_CS_Handled:

0000382c <HT162X_CS_Handled>:

void HT162X_CS_Handled(uint8_t val)
{
    382c:	14d0      	push      	r15
    if(val == 0) Lcd_CS_L;
    382e:	3840      	cmpnei      	r0, 0
    3830:	1065      	lrw      	r3, 0x2000004c	// 3844 <HT162X_CS_Handled+0x18>
    3832:	3104      	movi      	r1, 4
    3834:	9300      	ld.w      	r0, (r3, 0x0)
    3836:	0804      	bt      	0x383e	// 383e <HT162X_CS_Handled+0x12>
    3838:	e3fff290 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
    else Lcd_CS_H;
}
    383c:	1490      	pop      	r15
    else Lcd_CS_H;
    383e:	e3fff289 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
}
    3842:	07fd      	br      	0x383c	// 383c <HT162X_CS_Handled+0x10>
    3844:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT162X_RD_Handled:

00003848 <HT162X_RD_Handled>:
void HT162X_RD_Handled(uint8_t val)
{
    3848:	14d0      	push      	r15
    if(val == 0) Lcd_RD_L;
    384a:	3840      	cmpnei      	r0, 0
    384c:	1065      	lrw      	r3, 0x2000004c	// 3860 <HT162X_RD_Handled+0x18>
    384e:	3100      	movi      	r1, 0
    3850:	9300      	ld.w      	r0, (r3, 0x0)
    3852:	0804      	bt      	0x385a	// 385a <HT162X_RD_Handled+0x12>
    3854:	e3fff282 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
    else Lcd_RD_H;
}
    3858:	1490      	pop      	r15
    else Lcd_RD_H;
    385a:	e3fff27b 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
}
    385e:	07fd      	br      	0x3858	// 3858 <HT162X_RD_Handled+0x10>
    3860:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT162X_WR_Handled:

00003864 <HT162X_WR_Handled>:
void HT162X_WR_Handled(uint8_t val)
{
    3864:	14d0      	push      	r15
    if(val == 0) Lcd_WR_L;
    3866:	3840      	cmpnei      	r0, 0
    3868:	1065      	lrw      	r3, 0x2000004c	// 387c <HT162X_WR_Handled+0x18>
    386a:	3103      	movi      	r1, 3
    386c:	9300      	ld.w      	r0, (r3, 0x0)
    386e:	0804      	bt      	0x3876	// 3876 <HT162X_WR_Handled+0x12>
    3870:	e3fff274 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
    else Lcd_WR_H;
}
    3874:	1490      	pop      	r15
    else Lcd_WR_H;
    3876:	e3fff26d 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
}
    387a:	07fd      	br      	0x3874	// 3874 <HT162X_WR_Handled+0x10>
    387c:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT162X_Data_Handled:

00003880 <HT162X_Data_Handled>:
void HT162X_Data_Handled(uint8_t val)
{
    3880:	14d0      	push      	r15
    if(val == 0) IO_Lcd_Data_L;
    3882:	3840      	cmpnei      	r0, 0
    3884:	1065      	lrw      	r3, 0x2000004c	// 3898 <HT162X_Data_Handled+0x18>
    3886:	3101      	movi      	r1, 1
    3888:	9300      	ld.w      	r0, (r3, 0x0)
    388a:	0804      	bt      	0x3892	// 3892 <HT162X_Data_Handled+0x12>
    388c:	e3fff266 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
    else IO_Lcd_Data_H;
}
    3890:	1490      	pop      	r15
    else IO_Lcd_Data_H;
    3892:	e3fff25f 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
}
    3896:	07fd      	br      	0x3890	// 3890 <HT162X_Data_Handled+0x10>
    3898:	2000004c 	.long	0x2000004c

Disassembly of section .text.UI_Init:

0000389c <UI_Init>:
        if(x3 > 0) x3 = 0;
    }
}

void UI_Init(void)
{
    389c:	14d0      	push      	r15
    UI_System.UI_Show = UI_OFF;
    389e:	1074      	lrw      	r3, 0x200003f8	// 38ec <UI_Init+0x50>
    38a0:	3201      	movi      	r2, 1
    38a2:	b356      	st.w      	r2, (r3, 0x58)
    UI_System.State_TempCtrl = UI_OFF;
    38a4:	b348      	st.w      	r2, (r3, 0x20)
    UI_System.ICO_WIFI = UI_OFF;
    38a6:	b34a      	st.w      	r2, (r3, 0x28)
    UI_System.ICO_Bluetooth = UI_ON;
    UI_System.ICO_Auger = UI_OFF;
    38a8:	b34c      	st.w      	r2, (r3, 0x30)
    UI_System.ICO_Fan = UI_OFF;
    38aa:	b34d      	st.w      	r2, (r3, 0x34)
    UI_System.ICO_Heating = UI_OFF;
    38ac:	b34e      	st.w      	r2, (r3, 0x38)
    UI_System.ICO_Error = UI_OFF;
    38ae:	b34f      	st.w      	r2, (r3, 0x3c)
    UI_System.ICO_Cell = UI_OFF;
    38b0:	b350      	st.w      	r2, (r3, 0x40)
    UI_System.State_Operation = UI_None;
    UI_System.Grill_Unit = Unit_F;
    38b2:	b355      	st.w      	r2, (r3, 0x54)

    Temp_Param.oven = 50;
    38b4:	3032      	movi      	r0, 50
    38b6:	104f      	lrw      	r2, 0x20000468	// 38f0 <UI_Init+0x54>
    UI_System.ICO_Bluetooth = UI_ON;
    38b8:	3100      	movi      	r1, 0
    Temp_Param.oven = 50;
    38ba:	aa00      	st.h      	r0, (r2, 0x0)
    Temp_Param.oven_set = 180;
    38bc:	30b4      	movi      	r0, 180
    38be:	aa01      	st.h      	r0, (r2, 0x2)
    Temp_Param.probe1 = 0;
    38c0:	3000      	movi      	r0, 0
    38c2:	aa04      	st.h      	r0, (r2, 0x8)
    Temp_Param.probe1_set = Alarm_Probe_Min;
    38c4:	3032      	movi      	r0, 50
    38c6:	aa05      	st.h      	r0, (r2, 0xa)
    Temp_Param.probe2 = 0;
    38c8:	3000      	movi      	r0, 0
    38ca:	aa07      	st.h      	r0, (r2, 0xe)
    Temp_Param.probe2_set = Alarm_Probe_Min;
    38cc:	3032      	movi      	r0, 50
    UI_System.ICO_Bluetooth = UI_ON;
    38ce:	b32b      	st.w      	r1, (r3, 0x2c)
    UI_System.State_Operation = UI_None;
    38d0:	b329      	st.w      	r1, (r3, 0x24)
    Temp_Param.probe2_set = Alarm_Probe_Min;
    38d2:	aa08      	st.h      	r0, (r2, 0x10)
    UI_System.Timer1.Actual = 0;
    38d4:	b320      	st.w      	r1, (r3, 0x0)
    UI_System.Timer1.Settings = 0;
    38d6:	b321      	st.w      	r1, (r3, 0x4)

    UI_System.Alarm_Timer = Alarm_None;
    38d8:	b331      	st.w      	r1, (r3, 0x44)
    UI_System.Alarm_RTD = Alarm_None;
    38da:	b332      	st.w      	r1, (r3, 0x48)
    UI_System.Alarm_ProbeA = Alarm_None;
    38dc:	b333      	st.w      	r1, (r3, 0x4c)
    UI_System.Alarm_ProbeB = Alarm_None;
    38de:	b334      	st.w      	r1, (r3, 0x50)

    Lcd_Parts_Init();
    38e0:	e3fffd94 	bsr      	0x3408	// 3408 <Lcd_Parts_Init>
	Flash_Read();
    38e4:	e00007e0 	bsr      	0x48a4	// 48a4 <Flash_Read>
}
    38e8:	1490      	pop      	r15
    38ea:	0000      	bkpt
    38ec:	200003f8 	.long	0x200003f8
    38f0:	20000468 	.long	0x20000468

Disassembly of section .text.UI_unit_show:

000038f4 <UI_unit_show>:

void UI_unit_show(void)
{
    38f4:	14d0      	push      	r15
    if(UI_System.Grill_Unit == Unit_F)
    38f6:	106c      	lrw      	r3, 0x200003f8	// 3924 <UI_unit_show+0x30>
    38f8:	9375      	ld.w      	r3, (r3, 0x54)
    38fa:	3b41      	cmpnei      	r3, 1
    38fc:	0808      	bt      	0x390c	// 390c <UI_unit_show+0x18>
    {
        Lcd_F(Char_ON);
    38fe:	3000      	movi      	r0, 0
    3900:	e3fffcb6 	bsr      	0x326c	// 326c <Lcd_F>
        Lcd_C(Char_OFF);
    3904:	3001      	movi      	r0, 1
        Lcd_C(Char_ON);
    }
    else if(UI_System.Grill_Unit == Unit_F_C)
    {
        Lcd_F(Char_ON);
        Lcd_C(Char_ON);
    3906:	e3fffce3 	bsr      	0x32cc	// 32cc <Lcd_C>
    }
}
    390a:	1490      	pop      	r15
    else if(UI_System.Grill_Unit == Unit_C)
    390c:	3b42      	cmpnei      	r3, 2
    390e:	0806      	bt      	0x391a	// 391a <UI_unit_show+0x26>
        Lcd_F(Char_OFF);
    3910:	3001      	movi      	r0, 1
        Lcd_F(Char_ON);
    3912:	e3fffcad 	bsr      	0x326c	// 326c <Lcd_F>
        Lcd_C(Char_ON);
    3916:	3000      	movi      	r0, 0
    3918:	07f7      	br      	0x3906	// 3906 <UI_unit_show+0x12>
    else if(UI_System.Grill_Unit == Unit_F_C)
    391a:	3b43      	cmpnei      	r3, 3
    391c:	0bf7      	bt      	0x390a	// 390a <UI_unit_show+0x16>
        Lcd_F(Char_ON);
    391e:	3000      	movi      	r0, 0
    3920:	07f9      	br      	0x3912	// 3912 <UI_unit_show+0x1e>
    3922:	0000      	bkpt
    3924:	200003f8 	.long	0x200003f8

Disassembly of section .text.UI_Refresh:

00003928 <UI_Refresh>:
float temp_RTD = 0xffffffff;
void UI_Refresh(void)
{
    3928:	14d3      	push      	r4-r6, r15
    uint16_t temp_FC = 0;
    
    static float temp_Probe1 = 0xffffffff;
    static float temp_Probe2 = 0xffffffff;
    
    if(UI_System.UI_Show == UI_ON)
    392a:	1398      	lrw      	r4, 0x200003f8	// 3b08 <UI_Refresh+0x1e0>
    {
        KeyLed_ON;
    392c:	3100      	movi      	r1, 0
    if(UI_System.UI_Show == UI_ON)
    392e:	9476      	ld.w      	r3, (r4, 0x58)
    3930:	3b40      	cmpnei      	r3, 0
    3932:	1377      	lrw      	r3, 0x20000048	// 3b0c <UI_Refresh+0x1e4>
        KeyLed_ON;
    3934:	9300      	ld.w      	r0, (r3, 0x0)
    if(UI_System.UI_Show == UI_ON)
    3936:	08da      	bt      	0x3aea	// 3aea <UI_Refresh+0x1c2>
        if(Temp_Param.oven_set != Temp_Shutoff && Power_State == 1)
    3938:	13d6      	lrw      	r6, 0x20000468	// 3b10 <UI_Refresh+0x1e8>
        KeyLed_ON;
    393a:	e3fff20b 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
        if(Temp_Param.oven_set != Temp_Shutoff && Power_State == 1)
    393e:	8e61      	ld.h      	r3, (r6, 0x2)
    3940:	3b40      	cmpnei      	r3, 0
    3942:	6d5b      	mov      	r5, r6
    3944:	0c94      	bf      	0x3a6c	// 3a6c <UI_Refresh+0x144>
    3946:	1374      	lrw      	r3, 0x20000118	// 3b14 <UI_Refresh+0x1ec>
    3948:	8b60      	ld.h      	r3, (r3, 0x0)
    394a:	3b41      	cmpnei      	r3, 1
    394c:	0890      	bt      	0x3a6c	// 3a6c <UI_Refresh+0x144>
        {
            Lcd_Backlight_ON;
    394e:	1373      	lrw      	r3, 0x2000004c	// 3b18 <UI_Refresh+0x1f0>
    3950:	3109      	movi      	r1, 9
    3952:	9300      	ld.w      	r0, (r3, 0x0)
    3954:	e3fff1fe 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
			FanCtrlStart();
    3958:	e0000914 	bsr      	0x4b80	// 4b80 <FanCtrlStart>
            if(Temp_Param.oven_Err == Pt_Normal)
    395c:	9661      	ld.w      	r3, (r6, 0x4)
    395e:	3b40      	cmpnei      	r3, 0
    3960:	087f      	bt      	0x3a5e	// 3a5e <UI_Refresh+0x136>
            {
                Lcd_Probe1_Show(Char_ON);
    3962:	3000      	movi      	r0, 0
    3964:	e3fffd30 	bsr      	0x33c4	// 33c4 <Lcd_Probe1_Show>
                Lcd_Probe2_Show(Char_ON);
    3968:	3000      	movi      	r0, 0
    396a:	e3fffd3e 	bsr      	0x33e6	// 33e6 <Lcd_Probe2_Show>
                Lcd_Actual(Char_ON);
    396e:	3000      	movi      	r0, 0
    3970:	e3fffd18 	bsr      	0x33a0	// 33a0 <Lcd_Actual>
                Lcd_F(Char_ON);
    3974:	3000      	movi      	r0, 0
    3976:	e3fffc7b 	bsr      	0x326c	// 326c <Lcd_F>
                Lcd_Cook(Char_ON);
    397a:	3000      	movi      	r0, 0
    397c:	e3fffcf8 	bsr      	0x336c	// 336c <Lcd_Cook>
                if(UI_System.Timer1.Actual > 0)
    3980:	9460      	ld.w      	r3, (r4, 0x0)
    3982:	3b40      	cmpnei      	r3, 0
    3984:	0c0e      	bf      	0x39a0	// 39a0 <UI_Refresh+0x78>
                { //Shutdown OFF
                    if(UI_System.Shine_Colon == Shine_ON) Lcd_Timer_Colon(Char_ON);
    3986:	9465      	ld.w      	r3, (r4, 0x14)
    3988:	3b43      	cmpnei      	r3, 3
    398a:	0809      	bt      	0x399c	// 399c <UI_Refresh+0x74>
    398c:	3000      	movi      	r0, 0
                    else Lcd_Timer_Colon(Char_OFF);
    398e:	e3fffd12 	bsr      	0x33b2	// 33b2 <Lcd_Timer_Colon>
                    Lcd_NumShow(UI_ProbeA,temp_Probe1);
                    // temp_FC = ConvertC(temp_Probe2);
                    Lcd_NumShow(UI_ProbeB,temp_Probe2);
                    UI_unit_show();
                }
                FanCtrlStart();
    3992:	e00008f7 	bsr      	0x4b80	// 4b80 <FanCtrlStart>
        Lcd_Backlight_OFF;
        HT162X_ResetRAM();
        FanCtrlStop();
        ADInit();
        
        HT162X_RAM_Tx(); 
    3996:	e3fffc27 	bsr      	0x31e4	// 31e4 <HT162X_RAM_Tx>
    }
}
    399a:	1493      	pop      	r4-r6, r15
                    else Lcd_Timer_Colon(Char_OFF);
    399c:	3001      	movi      	r0, 1
    399e:	07f8      	br      	0x398e	// 398e <UI_Refresh+0x66>
                    if(temp_RTD == 0xffffffff) temp_RTD = Temp_Param.oven; 
    39a0:	129f      	lrw      	r4, 0x20000064	// 3b1c <UI_Refresh+0x1f4>
    39a2:	319f      	movi      	r1, 159
    39a4:	4137      	lsli      	r1, r1, 23
    39a6:	9400      	ld.w      	r0, (r4, 0x0)
    39a8:	e3ffe5c8 	bsr      	0x538	// 538 <__eqsf2>
    39ac:	3840      	cmpnei      	r0, 0
    39ae:	0806      	bt      	0x39ba	// 39ba <UI_Refresh+0x92>
    39b0:	8e00      	ld.h      	r0, (r6, 0x0)
    39b2:	7403      	sexth      	r0, r0
    39b4:	e3ffe66a 	bsr      	0x688	// 688 <__floatsisf>
    39b8:	b400      	st.w      	r0, (r4, 0x0)
                    if(temp_Probe1 == 0xffffffff) temp_Probe1 = Temp_Param.probe1; 
    39ba:	319f      	movi      	r1, 159
    39bc:	4137      	lsli      	r1, r1, 23
    39be:	9401      	ld.w      	r0, (r4, 0x4)
    39c0:	e3ffe5bc 	bsr      	0x538	// 538 <__eqsf2>
    39c4:	3840      	cmpnei      	r0, 0
    39c6:	0806      	bt      	0x39d2	// 39d2 <UI_Refresh+0xaa>
    39c8:	8d04      	ld.h      	r0, (r5, 0x8)
    39ca:	7403      	sexth      	r0, r0
    39cc:	e3ffe65e 	bsr      	0x688	// 688 <__floatsisf>
    39d0:	b401      	st.w      	r0, (r4, 0x4)
                    if(temp_Probe2 == 0xffffffff) temp_Probe2 = Temp_Param.probe2; 
    39d2:	319f      	movi      	r1, 159
    39d4:	4137      	lsli      	r1, r1, 23
    39d6:	9402      	ld.w      	r0, (r4, 0x8)
    39d8:	e3ffe5b0 	bsr      	0x538	// 538 <__eqsf2>
    39dc:	3840      	cmpnei      	r0, 0
    39de:	0806      	bt      	0x39ea	// 39ea <UI_Refresh+0xc2>
    39e0:	8d07      	ld.h      	r0, (r5, 0xe)
    39e2:	7403      	sexth      	r0, r0
    39e4:	e3ffe652 	bsr      	0x688	// 688 <__floatsisf>
    39e8:	b402      	st.w      	r0, (r4, 0x8)
                    Lcd_Timer_Colon(Char_OFF);
    39ea:	3001      	movi      	r0, 1
                    if(UI_Refresh_Count == 0) 
    39ec:	12cd      	lrw      	r6, 0x20000112	// 3b20 <UI_Refresh+0x1f8>
                    Lcd_Timer_Colon(Char_OFF);
    39ee:	e3fffce2 	bsr      	0x33b2	// 33b2 <Lcd_Timer_Colon>
                    if(UI_Refresh_Count == 0) 
    39f2:	8e62      	ld.h      	r3, (r6, 0x4)
    39f4:	3b40      	cmpnei      	r3, 0
    39f6:	0812      	bt      	0x3a1a	// 3a1a <UI_Refresh+0xf2>
						UI_Refresh_Count = 1;
    39f8:	3301      	movi      	r3, 1
						temp_RTD = Temp_Param.oven;
    39fa:	8d00      	ld.h      	r0, (r5, 0x0)
						UI_Refresh_Count = 1;
    39fc:	ae62      	st.h      	r3, (r6, 0x4)
						temp_RTD = Temp_Param.oven;
    39fe:	7403      	sexth      	r0, r0
    3a00:	e3ffe644 	bsr      	0x688	// 688 <__floatsisf>
    3a04:	b400      	st.w      	r0, (r4, 0x0)
						temp_Probe1 = Temp_Param.probe1;
    3a06:	8d04      	ld.h      	r0, (r5, 0x8)
    3a08:	7403      	sexth      	r0, r0
    3a0a:	e3ffe63f 	bsr      	0x688	// 688 <__floatsisf>
    3a0e:	b401      	st.w      	r0, (r4, 0x4)
						temp_Probe2 = Temp_Param.probe2;
    3a10:	8d07      	ld.h      	r0, (r5, 0xe)
    3a12:	7403      	sexth      	r0, r0
    3a14:	e3ffe63a 	bsr      	0x688	// 688 <__floatsisf>
    3a18:	b402      	st.w      	r0, (r4, 0x8)
                    if(UI_Refresh_Count >= 100)
    3a1a:	8e42      	ld.h      	r2, (r6, 0x4)
    3a1c:	3363      	movi      	r3, 99
    3a1e:	648c      	cmphs      	r3, r2
    3a20:	0803      	bt      	0x3a26	// 3a26 <UI_Refresh+0xfe>
                        UI_Refresh_Count = 0;
    3a22:	3300      	movi      	r3, 0
    3a24:	ae62      	st.h      	r3, (r6, 0x4)
                    Lcd_NumShow(UI_RTD,temp_RTD);
    3a26:	9400      	ld.w      	r0, (r4, 0x0)
    3a28:	e3ffe662 	bsr      	0x6ec	// 6ec <__fixsfsi>
    3a2c:	6c43      	mov      	r1, r0
    3a2e:	3001      	movi      	r0, 1
    3a30:	e3fffd66 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
                    Lcd_NumShow(UI_RTDSettings,Temp_Param.oven_set);
    3a34:	8d21      	ld.h      	r1, (r5, 0x2)
    3a36:	3002      	movi      	r0, 2
    3a38:	e3fffd62 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
                    Lcd_NumShow(UI_ProbeA,temp_Probe1);
    3a3c:	9401      	ld.w      	r0, (r4, 0x4)
    3a3e:	e3ffe657 	bsr      	0x6ec	// 6ec <__fixsfsi>
    3a42:	6c43      	mov      	r1, r0
    3a44:	3005      	movi      	r0, 5
    3a46:	e3fffd5b 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
                    Lcd_NumShow(UI_ProbeB,temp_Probe2);
    3a4a:	9402      	ld.w      	r0, (r4, 0x8)
    3a4c:	e3ffe650 	bsr      	0x6ec	// 6ec <__fixsfsi>
    3a50:	6c43      	mov      	r1, r0
    3a52:	3006      	movi      	r0, 6
    3a54:	e3fffd54 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
                    UI_unit_show();
    3a58:	e3ffff4e 	bsr      	0x38f4	// 38f4 <UI_unit_show>
    3a5c:	079b      	br      	0x3992	// 3992 <UI_Refresh+0x6a>
                HT162X_ResetRAM();
    3a5e:	e3fffb61 	bsr      	0x3120	// 3120 <HT162X_ResetRAM>
                Lcd_NumShow(UI_RTD,0);
    3a62:	3100      	movi      	r1, 0
    3a64:	3001      	movi      	r0, 1
    3a66:	e3fffd4b 	bsr      	0x34fc	// 34fc <Lcd_NumShow>
    3a6a:	0796      	br      	0x3996	// 3996 <UI_Refresh+0x6e>
        else if(Temp_Param.oven_Err == Pt_Normal)
    3a6c:	9561      	ld.w      	r3, (r5, 0x4)
    3a6e:	3b40      	cmpnei      	r3, 0
    3a70:	0b95      	bt      	0x399a	// 399a <UI_Refresh+0x72>
			FanCtrlStop();
    3a72:	e00008ab 	bsr      	0x4bc8	// 4bc8 <FanCtrlStop>
			Lcd_Timer_Colon(Char_ON);
    3a76:	3000      	movi      	r0, 0
    3a78:	e3fffc9d 	bsr      	0x33b2	// 33b2 <Lcd_Timer_Colon>
			Lcd_Number(ExhaustFanClock/600,Timer_seg2);
    3a7c:	118a      	lrw      	r4, 0x2000014c	// 3b24 <UI_Refresh+0x1fc>
    3a7e:	3196      	movi      	r1, 150
    3a80:	8c00      	ld.h      	r0, (r4, 0x0)
    3a82:	4122      	lsli      	r1, r1, 2
    3a84:	e3fffaca 	bsr      	0x3018	// 3018 <__udivsi3>
    3a88:	7401      	zexth      	r0, r0
    3a8a:	1128      	lrw      	r1, 0x5794	// 3b28 <UI_Refresh+0x200>
    3a8c:	e3fffcde 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(ExhaustFanClock/60%10,Timer_seg3);
    3a90:	8c00      	ld.h      	r0, (r4, 0x0)
    3a92:	313c      	movi      	r1, 60
    3a94:	e3fffac2 	bsr      	0x3018	// 3018 <__udivsi3>
    3a98:	7401      	zexth      	r0, r0
    3a9a:	310a      	movi      	r1, 10
    3a9c:	e3fffae2 	bsr      	0x3060	// 3060 <__umodsi3>
    3aa0:	7401      	zexth      	r0, r0
    3aa2:	1123      	lrw      	r1, 0x5784	// 3b2c <UI_Refresh+0x204>
    3aa4:	e3fffcd2 	bsr      	0x3448	// 3448 <Lcd_Number>
            Lcd_Number(ExhaustFanClock%60/10,Timer_seg4);
    3aa8:	8c00      	ld.h      	r0, (r4, 0x0)
    3aaa:	313c      	movi      	r1, 60
    3aac:	e3fffada 	bsr      	0x3060	// 3060 <__umodsi3>
    3ab0:	7401      	zexth      	r0, r0
    3ab2:	310a      	movi      	r1, 10
    3ab4:	e3fffab2 	bsr      	0x3018	// 3018 <__udivsi3>
    3ab8:	7401      	zexth      	r0, r0
    3aba:	103e      	lrw      	r1, 0x57a4	// 3b30 <UI_Refresh+0x208>
    3abc:	e3fffcc6 	bsr      	0x3448	// 3448 <Lcd_Number>
            Lcd_Number(ExhaustFanClock%10,Timer_seg5);
    3ac0:	8c00      	ld.h      	r0, (r4, 0x0)
    3ac2:	310a      	movi      	r1, 10
    3ac4:	e3ffface 	bsr      	0x3060	// 3060 <__umodsi3>
    3ac8:	7401      	zexth      	r0, r0
    3aca:	103b      	lrw      	r1, 0x57b4	// 3b34 <UI_Refresh+0x20c>
    3acc:	e3fffcbe 	bsr      	0x3448	// 3448 <Lcd_Number>
            Lcd_Number(0,TempAct_seg1);
    3ad0:	103a      	lrw      	r1, 0x57d4	// 3b38 <UI_Refresh+0x210>
    3ad2:	3000      	movi      	r0, 0
    3ad4:	e3fffcba 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_F,TempAct_seg2);
    3ad8:	1039      	lrw      	r1, 0x57e4	// 3b3c <UI_Refresh+0x214>
    3ada:	300c      	movi      	r0, 12
    3adc:	e3fffcb6 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Tube_Encoder_F,TempAct_seg3);
    3ae0:	1038      	lrw      	r1, 0x57f4	// 3b40 <UI_Refresh+0x218>
    3ae2:	300c      	movi      	r0, 12
    3ae4:	e3fffcb2 	bsr      	0x3448	// 3448 <Lcd_Number>
    3ae8:	0757      	br      	0x3996	// 3996 <UI_Refresh+0x6e>
        KeyLed_OFF;
    3aea:	e3fff137 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
        Lcd_Backlight_OFF;
    3aee:	106b      	lrw      	r3, 0x2000004c	// 3b18 <UI_Refresh+0x1f0>
    3af0:	3109      	movi      	r1, 9
    3af2:	9300      	ld.w      	r0, (r3, 0x0)
    3af4:	e3fff132 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
        HT162X_ResetRAM();
    3af8:	e3fffb14 	bsr      	0x3120	// 3120 <HT162X_ResetRAM>
        FanCtrlStop();
    3afc:	e0000866 	bsr      	0x4bc8	// 4bc8 <FanCtrlStop>
        ADInit();
    3b00:	e0000d26 	bsr      	0x554c	// 554c <ADInit>
    3b04:	0749      	br      	0x3996	// 3996 <UI_Refresh+0x6e>
    3b06:	0000      	bkpt
    3b08:	200003f8 	.long	0x200003f8
    3b0c:	20000048 	.long	0x20000048
    3b10:	20000468 	.long	0x20000468
    3b14:	20000118 	.long	0x20000118
    3b18:	2000004c 	.long	0x2000004c
    3b1c:	20000064 	.long	0x20000064
    3b20:	20000112 	.long	0x20000112
    3b24:	2000014c 	.long	0x2000014c
    3b28:	00005794 	.long	0x00005794
    3b2c:	00005784 	.long	0x00005784
    3b30:	000057a4 	.long	0x000057a4
    3b34:	000057b4 	.long	0x000057b4
    3b38:	000057d4 	.long	0x000057d4
    3b3c:	000057e4 	.long	0x000057e4
    3b40:	000057f4 	.long	0x000057f4

Disassembly of section .text.UI_Ver:

00003b44 <UI_Ver>:

void UI_Ver()
{
    3b44:	14d0      	push      	r15
    if(Switch_State == Temp_Shutoff)
    3b46:	106a      	lrw      	r3, 0x20000120	// 3b6c <UI_Ver+0x28>
    3b48:	8b60      	ld.h      	r3, (r3, 0x0)
    3b4a:	3b40      	cmpnei      	r3, 0
    3b4c:	080f      	bt      	0x3b6a	// 3b6a <UI_Ver+0x26>
    {
        Lcd_Number(6,TempAct_seg1); //代表 马达转速
    3b4e:	1029      	lrw      	r1, 0x57d4	// 3b70 <UI_Ver+0x2c>
    3b50:	3006      	movi      	r0, 6
    3b52:	e3fffc7b 	bsr      	0x3448	// 3448 <Lcd_Number>
        Lcd_Number(0,TempAct_seg2); //版本号
    3b56:	1028      	lrw      	r1, 0x57e4	// 3b74 <UI_Ver+0x30>
    3b58:	3000      	movi      	r0, 0
    3b5a:	e3fffc77 	bsr      	0x3448	// 3448 <Lcd_Number>
        Lcd_Number(2,TempAct_seg3);
    3b5e:	1027      	lrw      	r1, 0x57f4	// 3b78 <UI_Ver+0x34>
    3b60:	3002      	movi      	r0, 2
    3b62:	e3fffc73 	bsr      	0x3448	// 3448 <Lcd_Number>

        HT162X_RAM_Tx();
    3b66:	e3fffb3f 	bsr      	0x31e4	// 31e4 <HT162X_RAM_Tx>
    }
}
    3b6a:	1490      	pop      	r15
    3b6c:	20000120 	.long	0x20000120
    3b70:	000057d4 	.long	0x000057d4
    3b74:	000057e4 	.long	0x000057e4
    3b78:	000057f4 	.long	0x000057f4

Disassembly of section .text.UI_Ver_Clock:

00003b7c <UI_Ver_Clock>:
//Tick 10ms
void UI_Ver_Clock()
{
    3b7c:	14d0      	push      	r15
    if(Switch_Active == 0) return;
    3b7e:	1072      	lrw      	r3, 0x2000011e	// 3bc4 <UI_Ver_Clock+0x48>
    3b80:	8360      	ld.b      	r3, (r3, 0x0)
    3b82:	3b40      	cmpnei      	r3, 0
    3b84:	0c14      	bf      	0x3bac	// 3bac <UI_Ver_Clock+0x30>

    if((Ver_ShowCount > 0) && (Ver_ShowCount < 0xffff))
    3b86:	1051      	lrw      	r2, 0x20000064	// 3bc8 <UI_Ver_Clock+0x4c>
    3b88:	8a66      	ld.h      	r3, (r2, 0xc)
    3b8a:	2b00      	subi      	r3, 1
    3b8c:	74cd      	zexth      	r3, r3
    3b8e:	1030      	lrw      	r1, 0xfffd	// 3bcc <UI_Ver_Clock+0x50>
    3b90:	64c4      	cmphs      	r1, r3
    3b92:	0c0d      	bf      	0x3bac	// 3bac <UI_Ver_Clock+0x30>
    {
        Ver_ShowCount--;
    3b94:	aa66      	st.h      	r3, (r2, 0xc)
        if(Switch_State == Temp_Shutoff)
    3b96:	104f      	lrw      	r2, 0x20000120	// 3bd0 <UI_Ver_Clock+0x54>
    3b98:	8a40      	ld.h      	r2, (r2, 0x0)
    3b9a:	3a40      	cmpnei      	r2, 0
    3b9c:	0808      	bt      	0x3bac	// 3bac <UI_Ver_Clock+0x30>
        {
            if(Ver_ShowCount == 0) Lcd_Backlight_OFF;
    3b9e:	3b40      	cmpnei      	r3, 0
    3ba0:	0807      	bt      	0x3bae	// 3bae <UI_Ver_Clock+0x32>
    3ba2:	106d      	lrw      	r3, 0x2000004c	// 3bd4 <UI_Ver_Clock+0x58>
    3ba4:	3109      	movi      	r1, 9
    3ba6:	9300      	ld.w      	r0, (r3, 0x0)
    3ba8:	e3fff0d8 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
                HT162X_ResetRAM();
                Lcd_Backlight_ON;
            }
        }
    }
}
    3bac:	1490      	pop      	r15
            else if(Ver_ShowCount >= (Ver_ShowTime - 5))
    3bae:	325e      	movi      	r2, 94
    3bb0:	64c8      	cmphs      	r2, r3
    3bb2:	0bfd      	bt      	0x3bac	// 3bac <UI_Ver_Clock+0x30>
                HT162X_ResetRAM();
    3bb4:	e3fffab6 	bsr      	0x3120	// 3120 <HT162X_ResetRAM>
                Lcd_Backlight_ON;
    3bb8:	1067      	lrw      	r3, 0x2000004c	// 3bd4 <UI_Ver_Clock+0x58>
    3bba:	3109      	movi      	r1, 9
    3bbc:	9300      	ld.w      	r0, (r3, 0x0)
    3bbe:	e3fff0c9 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    3bc2:	07f5      	br      	0x3bac	// 3bac <UI_Ver_Clock+0x30>
    3bc4:	2000011e 	.long	0x2000011e
    3bc8:	20000064 	.long	0x20000064
    3bcc:	0000fffd 	.long	0x0000fffd
    3bd0:	20000120 	.long	0x20000120
    3bd4:	2000004c 	.long	0x2000004c

Disassembly of section .text.UI_Main:

00003bd8 <UI_Main>:

void UI_Main(void)
{
    3bd8:	14d0      	push      	r15
    if(Switch_Active == 0) return;
    3bda:	1068      	lrw      	r3, 0x2000011e	// 3bf8 <UI_Main+0x20>
    3bdc:	8360      	ld.b      	r3, (r3, 0x0)
    3bde:	3b40      	cmpnei      	r3, 0
    3be0:	0c07      	bf      	0x3bee	// 3bee <UI_Main+0x16>
    
    if(Ver_ShowCount == 0) UI_Refresh();
    3be2:	1067      	lrw      	r3, 0x20000064	// 3bfc <UI_Main+0x24>
    3be4:	8b66      	ld.h      	r3, (r3, 0xc)
    3be6:	3b40      	cmpnei      	r3, 0
    3be8:	0804      	bt      	0x3bf0	// 3bf0 <UI_Main+0x18>
    3bea:	e3fffe9f 	bsr      	0x3928	// 3928 <UI_Refresh>
    else UI_Ver();
}
    3bee:	1490      	pop      	r15
    else UI_Ver();
    3bf0:	e3ffffaa 	bsr      	0x3b44	// 3b44 <UI_Ver>
    3bf4:	07fd      	br      	0x3bee	// 3bee <UI_Main+0x16>
    3bf6:	0000      	bkpt
    3bf8:	2000011e 	.long	0x2000011e
    3bfc:	20000064 	.long	0x20000064

Disassembly of section .text.F_Convert_C:

00003c00 <F_Convert_C>:
// #include <stdint.h>
#include "Mcu_F_C_Convert.h"


int32_t F_Convert_C(int32_t F)
{
    3c00:	14d0      	push      	r15
    int32_t x;

    if(F == 200) F = 199; //为了跟膜片度数对应
    3c02:	33c8      	movi      	r3, 200
    3c04:	64c2      	cmpne      	r0, r3
    3c06:	0802      	bt      	0x3c0a	// 3c0a <F_Convert_C+0xa>
    3c08:	30c7      	movi      	r0, 199
    
    x = (F - 32);
    x *= 100; //包含一位小数,方便四舍五入处理
    3c0a:	3364      	movi      	r3, 100
    x = (F - 32);
    3c0c:	281f      	subi      	r0, 32
    x *= 100; //包含一位小数,方便四舍五入处理
    3c0e:	7c0c      	mult      	r0, r3
    if((x % 10) >= 5)
    {
        x /= 10;
        // x++; //为了跟膜片度数对应
    }
    else x /= 10;
    3c10:	31b4      	movi      	r1, 180
    3c12:	e3fff9f1 	bsr      	0x2ff4	// 2ff4 <__divsi3>

    return x; //°F转°C
}
    3c16:	1490      	pop      	r15

Disassembly of section .text.App_Init:

00003c18 <App_Init>:
#include "../LCD/UI.h"
#include "FactoryTest.h"


void App_Init(void)
{
    3c18:	14d0      	push      	r15
    GPIOConfig();
    3c1a:	e000005f 	bsr      	0x3cd8	// 3cd8 <GPIOConfig>
    HT162X_Init();
    3c1e:	e3fffaaf 	bsr      	0x317c	// 317c <HT162X_Init>
	UI_Init();
    3c22:	e3fffe3d 	bsr      	0x389c	// 389c <UI_Init>
    // SystemConfig();
    FanCtrlInit();
    3c26:	e00006e7 	bsr      	0x49f4	// 49f4 <FanCtrlInit>
    Key_init();
    3c2a:	e00000e7 	bsr      	0x3df8	// 3df8 <Key_init>
    Switch_IOConfig();
    3c2e:	e00001ef 	bsr      	0x400c	// 400c <Switch_IOConfig>
    ADInit();
    3c32:	e0000c8d 	bsr      	0x554c	// 554c <ADInit>

    Factory_main();
    3c36:	e0000603 	bsr      	0x483c	// 483c <Factory_main>
}
    3c3a:	1490      	pop      	r15

Disassembly of section .text.App_Main:

00003c3c <App_Main>:

void App_Main(void)
{
    3c3c:	14d2      	push      	r4-r5, r15
    
    // if(Factory_Check_Enable > 0) Factory_Check_Enable = 0;
    KeyDetection();
    3c3e:	e0000101 	bsr      	0x3e40	// 3e40 <KeyDetection>
    SwitchKey();
    3c42:	e00001fb 	bsr      	0x4038	// 4038 <SwitchKey>
    // Lcd_Show_Ctrl(Switch_State);
    // WDT_Clear();
    TempADC_Main();
    3c46:	e0000caf 	bsr      	0x55a4	// 55a4 <TempADC_Main>
	UI_Main();

    if(RTD[0].status == Pt_Normal)
    3c4a:	1090      	lrw      	r4, 0x200004dc	// 3c88 <App_Main+0x4c>
	UI_Main();
    3c4c:	e3ffffc6 	bsr      	0x3bd8	// 3bd8 <UI_Main>
    if(RTD[0].status == Pt_Normal)
    3c50:	9461      	ld.w      	r3, (r4, 0x4)
    3c52:	3b40      	cmpnei      	r3, 0
    3c54:	0808      	bt      	0x3c64	// 3c64 <App_Main+0x28>
    {
        HeatingFanCtrl();
    3c56:	e00007ff 	bsr      	0x4c54	// 4c54 <HeatingFanCtrl>
        IgniterCtrl();
    3c5a:	e00008df 	bsr      	0x4e18	// 4e18 <IgniterCtrl>
    {
        IgniterClose;
        HeaterFanClose;
		if(RTD[0].status==Pt_HighTemp)
		{
			ExhaustFanCtrl();
    3c5e:	e000095f 	bsr      	0x4f1c	// 4f1c <ExhaustFanCtrl>
        }
       
    }
#endif

}
    3c62:	1492      	pop      	r4-r5, r15
        IgniterClose;
    3c64:	10aa      	lrw      	r5, 0x2000004c	// 3c8c <App_Main+0x50>
    3c66:	310f      	movi      	r1, 15
    3c68:	9500      	ld.w      	r0, (r5, 0x0)
    3c6a:	e3fff073 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
        HeaterFanClose;
    3c6e:	9500      	ld.w      	r0, (r5, 0x0)
    3c70:	310e      	movi      	r1, 14
    3c72:	e3fff06f 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
		if(RTD[0].status==Pt_HighTemp)
    3c76:	9461      	ld.w      	r3, (r4, 0x4)
    3c78:	3b44      	cmpnei      	r3, 4
    3c7a:	0ff2      	bf      	0x3c5e	// 3c5e <App_Main+0x22>
			 ExhaustFanClose;
    3c7c:	1065      	lrw      	r3, 0x20000048	// 3c90 <App_Main+0x54>
    3c7e:	3105      	movi      	r1, 5
    3c80:	9300      	ld.w      	r0, (r3, 0x0)
    3c82:	e3fff067 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
}
    3c86:	07ee      	br      	0x3c62	// 3c62 <App_Main+0x26>
    3c88:	200004dc 	.long	0x200004dc
    3c8c:	2000004c 	.long	0x2000004c
    3c90:	20000048 	.long	0x20000048

Disassembly of section .text.SysTick_IRQHandler:

00003c94 <SysTick_IRQHandler>:

//Tick 10ms
void SysTick_IRQHandler(void)
{
    3c94:	14d0      	push      	r15
    if(key_param.once1 > 0)
    3c96:	104e      	lrw      	r2, 0x20000455	// 3ccc <SysTick_IRQHandler+0x38>
    3c98:	8260      	ld.b      	r3, (r2, 0x0)
    3c9a:	3b40      	cmpnei      	r3, 0
    3c9c:	0c03      	bf      	0x3ca2	// 3ca2 <SysTick_IRQHandler+0xe>
    {
        key_param.once1--;
    3c9e:	2b00      	subi      	r3, 1
    3ca0:	a260      	st.b      	r3, (r2, 0x0)
    }
    
    if((UI_Refresh_Count > 0) && (UI_Refresh_Count < 0xffff)) UI_Refresh_Count++;
    3ca2:	102c      	lrw      	r1, 0x20000116	// 3cd0 <SysTick_IRQHandler+0x3c>
    3ca4:	8960      	ld.h      	r3, (r1, 0x0)
    3ca6:	5b43      	subi      	r2, r3, 1
    3ca8:	7489      	zexth      	r2, r2
    3caa:	100b      	lrw      	r0, 0xfffd	// 3cd4 <SysTick_IRQHandler+0x40>
    3cac:	6480      	cmphs      	r0, r2
    3cae:	0c03      	bf      	0x3cb4	// 3cb4 <SysTick_IRQHandler+0x20>
    3cb0:	2300      	addi      	r3, 1
    3cb2:	a960      	st.h      	r3, (r1, 0x0)
    // if(Factory_Check_Enable == 1) ADC_Clock();
    switch_clock();
    3cb4:	e00001b6 	bsr      	0x4020	// 4020 <switch_clock>
    // if(Switch_State == Temp_Shutoff) return;

    ADC_Clock();
    3cb8:	e0000a06 	bsr      	0x50c4	// 50c4 <ADC_Clock>
    FanCtrlClock();
    3cbc:	e00006da 	bsr      	0x4a70	// 4a70 <FanCtrlClock>
    // Buzzer_clock();
    UI_Ver_Clock();
    3cc0:	e3ffff5e 	bsr      	0x3b7c	// 3b7c <UI_Ver_Clock>
	LowTempAlarm();
    3cc4:	e0000a4c 	bsr      	0x515c	// 515c <LowTempAlarm>
}
    3cc8:	1490      	pop      	r15
    3cca:	0000      	bkpt
    3ccc:	20000455 	.long	0x20000455
    3cd0:	20000116 	.long	0x20000116
    3cd4:	0000fffd 	.long	0x0000fffd

Disassembly of section .text.GPIOConfig:

00003cd8 <GPIOConfig>:
    SCU->SCLKEN0.CLKFLT_BY = 0x55; //PLL倍频到48M时,需要旁路时钟滤波器CLKFLT
	*/
}

void GPIOConfig(void)
{
    3cd8:	14d1      	push      	r4, r15
    gpio.PUE = GPIO_PUE_Input_Disable;
    GPIO_Init(IO_Oven,&gpio);
    GPIO_Init(IO_Probe1,&gpio);
    GPIO_Init(IO_Probe2,&gpio);
	*/
    GPIO_Init(GPIOA0,IO_Oven,Intput);
    3cda:	1089      	lrw      	r4, 0x2000004c	// 3cfc <GPIOConfig+0x24>
    3cdc:	3201      	movi      	r2, 1
    3cde:	9400      	ld.w      	r0, (r4, 0x0)
    3ce0:	310b      	movi      	r1, 11
    3ce2:	e3ffeec3 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Probe1,Intput);
    3ce6:	9400      	ld.w      	r0, (r4, 0x0)
    3ce8:	3201      	movi      	r2, 1
    3cea:	310c      	movi      	r1, 12
    3cec:	e3ffeebe 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Probe2,Intput);
    3cf0:	9400      	ld.w      	r0, (r4, 0x0)
    3cf2:	3201      	movi      	r2, 1
    3cf4:	3105      	movi      	r1, 5
    3cf6:	e3ffeeb9 	bsr      	0x1a68	// 1a68 <GPIO_Init>
}
    3cfa:	1491      	pop      	r4, r15
    3cfc:	2000004c 	.long	0x2000004c

Disassembly of section .text.SamplingSingle:

00003d00 <SamplingSingle>:
   // DeviceClockAllEnable(); //Open All Clock
}

//单次采样指定通道
uint32_t SamplingSingle(uint32_t channel)
{
    3d00:	14d0      	push      	r15
    ADC12_SEQEND_wait(0); //End of conversion wait
    temp = ADC0->DR[0]; //ADC data0
    ADC12_Control(ADC12_STOP);
    */
	
    if(channel == ADC_Switch)
    3d02:	3840      	cmpnei      	r0, 0
    3d04:	0808      	bt      	0x3d14	// 3d14 <SamplingSingle+0x14>
    {
        ADC12_SEQEND_wait(0); //等待转换序列 0 转换完成
    3d06:	e3fff281 	bsr      	0x2208	// 2208 <ADC12_SEQEND_wait>
        temp= ADC0->DR[0]; //转换结果保存
    3d0a:	107b      	lrw      	r3, 0x20000050	// 3d74 <SamplingSingle+0x74>
    3d0c:	9360      	ld.w      	r3, (r3, 0x0)
    3d0e:	23ff      	addi      	r3, 256
    3d10:	9300      	ld.w      	r0, (r3, 0x0)
        ADC12_SEQEND_wait(5);
        temp= ADC0->DR[5];
    } 

    return temp;
}
    3d12:	1490      	pop      	r15
    else if(channel == ADC_Oven)
    3d14:	3841      	cmpnei      	r0, 1
    3d16:	0808      	bt      	0x3d26	// 3d26 <SamplingSingle+0x26>
        ADC12_SEQEND_wait(1); //等待转换序列 1 转换完成
    3d18:	e3fff278 	bsr      	0x2208	// 2208 <ADC12_SEQEND_wait>
        temp= ADC0->DR[1]; //转换结果保存
    3d1c:	1076      	lrw      	r3, 0x20000050	// 3d74 <SamplingSingle+0x74>
    3d1e:	9360      	ld.w      	r3, (r3, 0x0)
    3d20:	23ff      	addi      	r3, 256
    3d22:	9301      	ld.w      	r0, (r3, 0x4)
    3d24:	07f7      	br      	0x3d12	// 3d12 <SamplingSingle+0x12>
    else if(channel == ADC_Meat1)
    3d26:	3842      	cmpnei      	r0, 2
    3d28:	0808      	bt      	0x3d38	// 3d38 <SamplingSingle+0x38>
        ADC12_SEQEND_wait(2); //等待转换序列 2 转换完成
    3d2a:	e3fff26f 	bsr      	0x2208	// 2208 <ADC12_SEQEND_wait>
        temp= ADC0->DR[2]; //转换结果保存
    3d2e:	1072      	lrw      	r3, 0x20000050	// 3d74 <SamplingSingle+0x74>
    3d30:	9360      	ld.w      	r3, (r3, 0x0)
    3d32:	23ff      	addi      	r3, 256
    3d34:	9302      	ld.w      	r0, (r3, 0x8)
    3d36:	07ee      	br      	0x3d12	// 3d12 <SamplingSingle+0x12>
    else if(channel == ADC_Meat2)
    3d38:	3843      	cmpnei      	r0, 3
    3d3a:	0808      	bt      	0x3d4a	// 3d4a <SamplingSingle+0x4a>
        ADC12_SEQEND_wait(3); //等待转换序列 3 转换完成
    3d3c:	e3fff266 	bsr      	0x2208	// 2208 <ADC12_SEQEND_wait>
        temp= ADC0->DR[3]; //转换结果保存
    3d40:	106d      	lrw      	r3, 0x20000050	// 3d74 <SamplingSingle+0x74>
    3d42:	9360      	ld.w      	r3, (r3, 0x0)
    3d44:	23ff      	addi      	r3, 256
    3d46:	9303      	ld.w      	r0, (r3, 0xc)
    3d48:	07e5      	br      	0x3d12	// 3d12 <SamplingSingle+0x12>
    else if(channel == ADC_BAT_V)
    3d4a:	3844      	cmpnei      	r0, 4
    3d4c:	0808      	bt      	0x3d5c	// 3d5c <SamplingSingle+0x5c>
        ADC12_SEQEND_wait(4);
    3d4e:	e3fff25d 	bsr      	0x2208	// 2208 <ADC12_SEQEND_wait>
        temp= ADC0->DR[4];
    3d52:	1069      	lrw      	r3, 0x20000050	// 3d74 <SamplingSingle+0x74>
    3d54:	9360      	ld.w      	r3, (r3, 0x0)
    3d56:	23ff      	addi      	r3, 256
    3d58:	9304      	ld.w      	r0, (r3, 0x10)
    3d5a:	07dc      	br      	0x3d12	// 3d12 <SamplingSingle+0x12>
    else if(channel == ADC_INTVREF_1v)
    3d5c:	3845      	cmpnei      	r0, 5
    3d5e:	0808      	bt      	0x3d6e	// 3d6e <SamplingSingle+0x6e>
        ADC12_SEQEND_wait(5);
    3d60:	e3fff254 	bsr      	0x2208	// 2208 <ADC12_SEQEND_wait>
        temp= ADC0->DR[5];
    3d64:	1064      	lrw      	r3, 0x20000050	// 3d74 <SamplingSingle+0x74>
    3d66:	9360      	ld.w      	r3, (r3, 0x0)
    3d68:	23ff      	addi      	r3, 256
    3d6a:	9305      	ld.w      	r0, (r3, 0x14)
    3d6c:	07d3      	br      	0x3d12	// 3d12 <SamplingSingle+0x12>
    uint32_t temp = 0;
    3d6e:	3000      	movi      	r0, 0
    return temp;
    3d70:	07d1      	br      	0x3d12	// 3d12 <SamplingSingle+0x12>
    3d72:	0000      	bkpt
    3d74:	20000050 	.long	0x20000050

Disassembly of section .text.keyboard_delay15ms:

00003d78 <keyboard_delay15ms>:
uint8_t Prime_Enable = 0;
bool F_C = 0;
uint16_t Power_State = Temp_Shutoff;
//通过示波器测量按键延迟, 15ms: 计数: 2500 * 16
void keyboard_delay15ms(void)
{
    3d78:	14d0      	push      	r15

    // for (i = 0; i < 2500 * 16; i++)
    // {
    // }
    // delay_nms(15);
    delay_nms(12);
    3d7a:	300c      	movi      	r0, 12
    3d7c:	e3fff44a 	bsr      	0x2610	// 2610 <delay_nms>
}
    3d80:	1490      	pop      	r15

Disassembly of section .text.Key_IOConfig:

00003d84 <Key_IOConfig>:

void Key_IOConfig(void)
{
    3d84:	14d2      	push      	r4-r5, r15
    GPIO_Init(GPIOA0,IO_Key1,Intput);
    3d86:	10bb      	lrw      	r5, 0x2000004c	// 3df0 <Key_IOConfig+0x6c>
    GPIO_Init(GPIOB0,IO_Key2,Intput);
    3d88:	109b      	lrw      	r4, 0x20000048	// 3df4 <Key_IOConfig+0x70>
    GPIO_Init(GPIOA0,IO_Key1,Intput);
    3d8a:	3201      	movi      	r2, 1
    3d8c:	9500      	ld.w      	r0, (r5, 0x0)
    3d8e:	310d      	movi      	r1, 13
    3d90:	e3ffee6c 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOB0,IO_Key2,Intput);
    3d94:	9400      	ld.w      	r0, (r4, 0x0)
    3d96:	3201      	movi      	r2, 1
    3d98:	3101      	movi      	r1, 1
    3d9a:	e3ffee67 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOB0,IO_Key3,Intput);
    3d9e:	9400      	ld.w      	r0, (r4, 0x0)
    3da0:	3201      	movi      	r2, 1
    3da2:	3104      	movi      	r1, 4
    3da4:	e3ffee62 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOB0,IO_KeyLed,Output);
    3da8:	3200      	movi      	r2, 0
    3daa:	9400      	ld.w      	r0, (r4, 0x0)
    3dac:	3100      	movi      	r1, 0
    3dae:	e3ffee5d 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    KeyLed_OFF;
    3db2:	9400      	ld.w      	r0, (r4, 0x0)
    3db4:	3100      	movi      	r1, 0
    3db6:	e3ffefd1 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>

    GPIO_IntGroup_Set(GPIOA, IO_Key1, Selete_EXI_PIN0); //EXI13 set PA.13
    3dba:	3200      	movi      	r2, 0
    3dbc:	310d      	movi      	r1, 13
    3dbe:	3000      	movi      	r0, 0
    3dc0:	e3ffeec4 	bsr      	0x1b48	// 1b48 <GPIO_IntGroup_Set>
    GPIOA0_EXI_Init(IO_Key1);
    3dc4:	300d      	movi      	r0, 13
    3dc6:	e3ffef47 	bsr      	0x1c54	// 1c54 <GPIOA0_EXI_Init>
    EXTI_trigger_CMD(ENABLE,EXI_PIN13,_EXIFT); //_EXIFT下降沿触发, _EXIRT 上升沿触发
    3dca:	3180      	movi      	r1, 128
    3dcc:	3201      	movi      	r2, 1
    3dce:	4126      	lsli      	r1, r1, 6
    3dd0:	3001      	movi      	r0, 1
    3dd2:	e3ffedc7 	bsr      	0x1960	// 1960 <EXTI_trigger_CMD>
    EXTI_interrupt_CMD(ENABLE,EXI_PIN13);
    3dd6:	3180      	movi      	r1, 128
    3dd8:	4126      	lsli      	r1, r1, 6
    3dda:	3001      	movi      	r0, 1
    3ddc:	e3ffede2 	bsr      	0x19a0	// 19a0 <EXTI_interrupt_CMD>
    GPIO_EXTI_interrupt(GPIOA0,0x02000); //0x0023
    3de0:	3180      	movi      	r1, 128
    3de2:	9500      	ld.w      	r0, (r5, 0x0)
    3de4:	4126      	lsli      	r1, r1, 6
    3de6:	e3ffedf7 	bsr      	0x19d4	// 19d4 <GPIO_EXTI_interrupt>
    EXI4_Int_Enable(); //使能 GPIO 口外部中断
    3dea:	e3ffedf7 	bsr      	0x19d8	// 19d8 <EXI4_Int_Enable>
    // EXI1_WakeUp_Enable();  
}
    3dee:	1492      	pop      	r4-r5, r15
    3df0:	2000004c 	.long	0x2000004c
    3df4:	20000048 	.long	0x20000048

Disassembly of section .text.Key_init:

00003df8 <Key_init>:
void Key_init(void)
{
    3df8:	14d0      	push      	r15
    Key_IOConfig();
    3dfa:	e3ffffc5 	bsr      	0x3d84	// 3d84 <Key_IOConfig>
    key_param.once1 = 0;
    3dfe:	1064      	lrw      	r3, 0x20000455	// 3e0c <Key_init+0x14>
    3e00:	3200      	movi      	r2, 0
    3e02:	a340      	st.b      	r2, (r3, 0x0)
    key_param.once2 = 0;
    3e04:	a341      	st.b      	r2, (r3, 0x1)
    key_param.once3 = 0;
    3e06:	a342      	st.b      	r2, (r3, 0x2)
}
    3e08:	1490      	pop      	r15
    3e0a:	0000      	bkpt
    3e0c:	20000455 	.long	0x20000455

Disassembly of section .text.Key_Power:

00003e10 <Key_Power>:

void Key_Power()
{
    if(key_param.once1 == 0)
    3e10:	1069      	lrw      	r3, 0x20000455	// 3e34 <Key_Power+0x24>
    3e12:	8340      	ld.b      	r2, (r3, 0x0)
    3e14:	3a40      	cmpnei      	r2, 0
    3e16:	0809      	bt      	0x3e28	// 3e28 <Key_Power+0x18>
    {
        if(Power_State == 0)
    3e18:	1048      	lrw      	r2, 0x20000118	// 3e38 <Key_Power+0x28>
    3e1a:	8a20      	ld.h      	r1, (r2, 0x0)
    3e1c:	3940      	cmpnei      	r1, 0
    3e1e:	0808      	bt      	0x3e2e	// 3e2e <Key_Power+0x1e>
        {
			//HT162X_ResetRAM();
			UI_System.UI_Show = UI_ON;
    3e20:	1007      	lrw      	r0, 0x200003f8	// 3e3c <Key_Power+0x2c>
    3e22:	b036      	st.w      	r1, (r0, 0x58)
            Power_State = 1;
    3e24:	3101      	movi      	r1, 1
        }
        else
		{  
			//HT162X_ResetRAM();
			Power_State = 0;
    3e26:	aa20      	st.h      	r1, (r2, 0x0)
		}
	}
    key_param.once1 = 30;
    3e28:	321e      	movi      	r2, 30
    3e2a:	a340      	st.b      	r2, (r3, 0x0)
}
    3e2c:	783c      	jmp      	r15
			Power_State = 0;
    3e2e:	3100      	movi      	r1, 0
    3e30:	07fb      	br      	0x3e26	// 3e26 <Key_Power+0x16>
    3e32:	0000      	bkpt
    3e34:	20000455 	.long	0x20000455
    3e38:	20000118 	.long	0x20000118
    3e3c:	200003f8 	.long	0x200003f8

Disassembly of section .text.KeyDetection:

00003e40 <KeyDetection>:
//Key1,Key2,Key3
void KeyDetection(void)
{
    3e40:	14d2      	push      	r4-r5, r15
    //         }
    //         else UI_System.UI_Show = UI_OFF;
    //     }
    // }

    if(UI_System.UI_Show != UI_ON) return;
    3e42:	1291      	lrw      	r4, 0x200003f8	// 3f84 <KeyDetection+0x144>
    3e44:	9476      	ld.w      	r3, (r4, 0x58)
    3e46:	3b40      	cmpnei      	r3, 0
    3e48:	0862      	bt      	0x3f0c	// 3f0c <KeyDetection+0xcc>
    //key2
    if(ReadIO_Key2 == 0)
    3e4a:	12b0      	lrw      	r5, 0x20000048	// 3f88 <KeyDetection+0x148>
    3e4c:	3101      	movi      	r1, 1
    3e4e:	9500      	ld.w      	r0, (r5, 0x0)
    3e50:	e3ffef88 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    3e54:	3840      	cmpnei      	r0, 0
    3e56:	085c      	bt      	0x3f0e	// 3f0e <KeyDetection+0xce>
    { //Prime
        keyboard_delay15ms();
    3e58:	e3ffff90 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
        if ((ReadIO_Key2 == 0) && (key_param.once2 == 0))
    3e5c:	3101      	movi      	r1, 1
    3e5e:	9500      	ld.w      	r0, (r5, 0x0)
    3e60:	e3ffef80 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    3e64:	3840      	cmpnei      	r0, 0
    3e66:	0815      	bt      	0x3e90	// 3e90 <KeyDetection+0x50>
    3e68:	1269      	lrw      	r3, 0x20000455	// 3f8c <KeyDetection+0x14c>
    3e6a:	8341      	ld.b      	r2, (r3, 0x1)
    3e6c:	3a40      	cmpnei      	r2, 0
    3e6e:	0811      	bt      	0x3e90	// 3e90 <KeyDetection+0x50>
        {
            key_param.once2 = 1;
    3e70:	3201      	movi      	r2, 1
    3e72:	a341      	st.b      	r2, (r3, 0x1)

            if((HeatingFanStep >= 1) && (HeatingFanStep <= 3))
    3e74:	1267      	lrw      	r3, 0x2000048a	// 3f90 <KeyDetection+0x150>
    3e76:	8360      	ld.b      	r3, (r3, 0x0)
    3e78:	2b00      	subi      	r3, 1
    3e7a:	74cc      	zextb      	r3, r3
    3e7c:	3b02      	cmphsi      	r3, 3
    3e7e:	0809      	bt      	0x3e90	// 3e90 <KeyDetection+0x50>
            {
                HeaterFanOpen;
    3e80:	1265      	lrw      	r3, 0x2000004c	// 3f94 <KeyDetection+0x154>
    3e82:	310e      	movi      	r1, 14
    3e84:	9300      	ld.w      	r0, (r3, 0x0)
    3e86:	e3ffef69 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
                Prime_Enable = 1;
    3e8a:	1264      	lrw      	r3, 0x20000118	// 3f98 <KeyDetection+0x158>
    3e8c:	3201      	movi      	r2, 1
    3e8e:	a342      	st.b      	r2, (r3, 0x2)
            Prime_Enable = 0;
            HeaterFanClose;
        }
    }
    //key3
    if(ReadIO_Key3 == 0)
    3e90:	3104      	movi      	r1, 4
    3e92:	9500      	ld.w      	r0, (r5, 0x0)
    3e94:	e3ffef66 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    3e98:	3840      	cmpnei      	r0, 0
    3e9a:	0856      	bt      	0x3f46	// 3f46 <KeyDetection+0x106>
    {
        keyboard_delay15ms();
    3e9c:	e3ffff6e 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
        if ((ReadIO_Key3 == 0) && (key_param.once3 == 0))
    3ea0:	9500      	ld.w      	r0, (r5, 0x0)
    3ea2:	3104      	movi      	r1, 4
    3ea4:	e3ffef5e 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    3ea8:	3840      	cmpnei      	r0, 0
    3eaa:	080e      	bt      	0x3ec6	// 3ec6 <KeyDetection+0x86>
    3eac:	1178      	lrw      	r3, 0x20000455	// 3f8c <KeyDetection+0x14c>
    3eae:	8342      	ld.b      	r2, (r3, 0x2)
    3eb0:	3a40      	cmpnei      	r2, 0
    3eb2:	080a      	bt      	0x3ec6	// 3ec6 <KeyDetection+0x86>
        {
            key_param.once3 = 1;
    3eb4:	3201      	movi      	r2, 1
    3eb6:	a342      	st.b      	r2, (r3, 0x2)
            if(UI_System.Grill_Unit == Unit_C) UI_System.Grill_Unit = Unit_F;
    3eb8:	9475      	ld.w      	r3, (r4, 0x54)
    3eba:	3b42      	cmpnei      	r3, 2
    3ebc:	0843      	bt      	0x3f42	// 3f42 <KeyDetection+0x102>
    3ebe:	3301      	movi      	r3, 1
            else UI_System.Grill_Unit = Unit_C; 
    3ec0:	b475      	st.w      	r3, (r4, 0x54)
            Flash_Write();
    3ec2:	e00004dd 	bsr      	0x487c	// 487c <Flash_Write>
                // Flash_Write();
            }
        }
    }

    if((temp_set == Temp_Set_500) && (key_param.once2 == 1) && (key_param.once3 == 1))
    3ec6:	1176      	lrw      	r3, 0x2000007c	// 3f9c <KeyDetection+0x15c>
    3ec8:	8b40      	ld.h      	r2, (r3, 0x0)
    3eca:	33fa      	movi      	r3, 250
    3ecc:	4361      	lsli      	r3, r3, 1
    3ece:	64ca      	cmpne      	r2, r3
    3ed0:	081e      	bt      	0x3f0c	// 3f0c <KeyDetection+0xcc>
    3ed2:	118f      	lrw      	r4, 0x20000455	// 3f8c <KeyDetection+0x14c>
    3ed4:	8461      	ld.b      	r3, (r4, 0x1)
    3ed6:	3b41      	cmpnei      	r3, 1
    3ed8:	081a      	bt      	0x3f0c	// 3f0c <KeyDetection+0xcc>
    3eda:	8462      	ld.b      	r3, (r4, 0x2)
    3edc:	3b41      	cmpnei      	r3, 1
    3ede:	0817      	bt      	0x3f0c	// 3f0c <KeyDetection+0xcc>
    {
        keyboard_delay15ms();
    3ee0:	e3ffff4c 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
        if((key_param.once2 == 1) && (key_param.once3 == 1))
    3ee4:	8461      	ld.b      	r3, (r4, 0x1)
    3ee6:	3b41      	cmpnei      	r3, 1
    3ee8:	0812      	bt      	0x3f0c	// 3f0c <KeyDetection+0xcc>
    3eea:	8462      	ld.b      	r3, (r4, 0x2)
    3eec:	3b41      	cmpnei      	r3, 1
    3eee:	080f      	bt      	0x3f0c	// 3f0c <KeyDetection+0xcc>
        {
            keyboard_delay15ms();
    3ef0:	e3ffff44 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
            if((key_param.once2 == 1) && (key_param.once3 == 1))
    3ef4:	8461      	ld.b      	r3, (r4, 0x1)
    3ef6:	3b41      	cmpnei      	r3, 1
    3ef8:	080a      	bt      	0x3f0c	// 3f0c <KeyDetection+0xcc>
    3efa:	8462      	ld.b      	r3, (r4, 0x2)
    3efc:	3b41      	cmpnei      	r3, 1
    3efe:	0807      	bt      	0x3f0c	// 3f0c <KeyDetection+0xcc>
            {
                if(Prime_Enable > 0) Prime_Enable = 0;
    3f00:	1166      	lrw      	r3, 0x20000118	// 3f98 <KeyDetection+0x158>
    3f02:	8342      	ld.b      	r2, (r3, 0x2)
    3f04:	3a40      	cmpnei      	r2, 0
    3f06:	0c03      	bf      	0x3f0c	// 3f0c <KeyDetection+0xcc>
    3f08:	3200      	movi      	r2, 0
    3f0a:	a342      	st.b      	r2, (r3, 0x2)
            }
        }
    }
}
    3f0c:	1492      	pop      	r4-r5, r15
    else if (ReadIO_Key2 > 0)
    3f0e:	3101      	movi      	r1, 1
    3f10:	9500      	ld.w      	r0, (r5, 0x0)
    3f12:	e3ffef27 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    3f16:	3840      	cmpnei      	r0, 0
    3f18:	0fbc      	bf      	0x3e90	// 3e90 <KeyDetection+0x50>
        keyboard_delay15ms();
    3f1a:	e3ffff2f 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
        if(key_param.once2 > 0) key_param.once2 = 0;
    3f1e:	107c      	lrw      	r3, 0x20000455	// 3f8c <KeyDetection+0x14c>
    3f20:	8341      	ld.b      	r2, (r3, 0x1)
    3f22:	3a40      	cmpnei      	r2, 0
    3f24:	0c03      	bf      	0x3f2a	// 3f2a <KeyDetection+0xea>
    3f26:	3200      	movi      	r2, 0
    3f28:	a341      	st.b      	r2, (r3, 0x1)
        if(Prime_Enable > 0)
    3f2a:	107c      	lrw      	r3, 0x20000118	// 3f98 <KeyDetection+0x158>
    3f2c:	8342      	ld.b      	r2, (r3, 0x2)
    3f2e:	3a40      	cmpnei      	r2, 0
    3f30:	0fb0      	bf      	0x3e90	// 3e90 <KeyDetection+0x50>
            Prime_Enable = 0;
    3f32:	3200      	movi      	r2, 0
    3f34:	a342      	st.b      	r2, (r3, 0x2)
            HeaterFanClose;
    3f36:	310e      	movi      	r1, 14
    3f38:	1077      	lrw      	r3, 0x2000004c	// 3f94 <KeyDetection+0x154>
    3f3a:	9300      	ld.w      	r0, (r3, 0x0)
    3f3c:	e3ffef0a 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    3f40:	07a8      	br      	0x3e90	// 3e90 <KeyDetection+0x50>
            else UI_System.Grill_Unit = Unit_C; 
    3f42:	3302      	movi      	r3, 2
    3f44:	07be      	br      	0x3ec0	// 3ec0 <KeyDetection+0x80>
    else if (ReadIO_Key3 > 0)
    3f46:	9500      	ld.w      	r0, (r5, 0x0)
    3f48:	3104      	movi      	r1, 4
    3f4a:	e3ffef0b 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    3f4e:	3840      	cmpnei      	r0, 0
    3f50:	0fbb      	bf      	0x3ec6	// 3ec6 <KeyDetection+0x86>
        keyboard_delay15ms();
    3f52:	e3ffff13 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
        if(key_param.once3 > 0)
    3f56:	106e      	lrw      	r3, 0x20000455	// 3f8c <KeyDetection+0x14c>
    3f58:	8342      	ld.b      	r2, (r3, 0x2)
    3f5a:	3a40      	cmpnei      	r2, 0
    3f5c:	0fb5      	bf      	0x3ec6	// 3ec6 <KeyDetection+0x86>
            key_param.once3 = 0;
    3f5e:	3200      	movi      	r2, 0
    3f60:	a342      	st.b      	r2, (r3, 0x2)
            if((Temp_Param.oven_Err == Pt_Normal) && (Temp_Param.oven_set == Temp_Set_Smoke))
    3f62:	1070      	lrw      	r3, 0x20000468	// 3fa0 <KeyDetection+0x160>
    3f64:	9341      	ld.w      	r2, (r3, 0x4)
    3f66:	3a40      	cmpnei      	r2, 0
    3f68:	0baf      	bt      	0x3ec6	// 3ec6 <KeyDetection+0x86>
    3f6a:	8b41      	ld.h      	r2, (r3, 0x2)
    3f6c:	33b4      	movi      	r3, 180
    3f6e:	64ca      	cmpne      	r2, r3
    3f70:	0bab      	bt      	0x3ec6	// 3ec6 <KeyDetection+0x86>
                UI_System.Pset++;
    3f72:	8470      	ld.b      	r3, (r4, 0x10)
    3f74:	2300      	addi      	r3, 1
    3f76:	74cc      	zextb      	r3, r3
                if(UI_System.Pset > PSet_7) UI_System.Pset = PSet_0;
    3f78:	3b08      	cmphsi      	r3, 9
    3f7a:	0803      	bt      	0x3f80	// 3f80 <KeyDetection+0x140>
    3f7c:	a470      	st.b      	r3, (r4, 0x10)
    3f7e:	07a4      	br      	0x3ec6	// 3ec6 <KeyDetection+0x86>
    3f80:	3301      	movi      	r3, 1
    3f82:	07fd      	br      	0x3f7c	// 3f7c <KeyDetection+0x13c>
    3f84:	200003f8 	.long	0x200003f8
    3f88:	20000048 	.long	0x20000048
    3f8c:	20000455 	.long	0x20000455
    3f90:	2000048a 	.long	0x2000048a
    3f94:	2000004c 	.long	0x2000004c
    3f98:	20000118 	.long	0x20000118
    3f9c:	2000007c 	.long	0x2000007c
    3fa0:	20000468 	.long	0x20000468

Disassembly of section .text.EXI10to15IntHandler:

00003fa4 <EXI10to15IntHandler>:

void EXI10to15IntHandler(void)
{
    3fa4:	1460      	nie
    3fa6:	1462      	ipush
    3fa8:	14d1      	push      	r4, r15
    if ((SYSCON->EXIRS & EXI_PIN13) == EXI_PIN13) 
    3faa:	1078      	lrw      	r3, 0x20000058	// 4008 <EXI10to15IntHandler+0x64>
    3fac:	3180      	movi      	r1, 128
    3fae:	9340      	ld.w      	r2, (r3, 0x0)
    3fb0:	227f      	addi      	r2, 128
    3fb2:	920c      	ld.w      	r0, (r2, 0x30)
    3fb4:	38cd      	btsti      	r0, 13
    3fb6:	4126      	lsli      	r1, r1, 6
    3fb8:	6d0f      	mov      	r4, r3
    3fba:	0c04      	bf      	0x3fc2	// 3fc2 <EXI10to15IntHandler+0x1e>
    { //按键IO口外部中断触发
        SYSCON->EXICR = EXI_PIN13;
    3fbc:	b22b      	st.w      	r1, (r2, 0x2c)

        Key_Power();
    3fbe:	e3ffff29 	bsr      	0x3e10	// 3e10 <Key_Power>

    }

    if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) 
    3fc2:	9460      	ld.w      	r3, (r4, 0x0)
    3fc4:	237f      	addi      	r3, 128
    3fc6:	932c      	ld.w      	r1, (r3, 0x30)
    3fc8:	3280      	movi      	r2, 128
    3fca:	39ca      	btsti      	r1, 10
    3fcc:	4243      	lsli      	r2, r2, 3
    3fce:	0c03      	bf      	0x3fd4	// 3fd4 <EXI10to15IntHandler+0x30>
	{
		SYSCON->EXICR = EXI_PIN14;
	}
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 
	{
		SYSCON->EXICR = EXI_PIN15;
    3fd0:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    3fd2:	0415      	br      	0x3ffc	// 3ffc <EXI10to15IntHandler+0x58>
	else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) 
    3fd4:	932c      	ld.w      	r1, (r3, 0x30)
    3fd6:	3280      	movi      	r2, 128
    3fd8:	39cb      	btsti      	r1, 11
    3fda:	4244      	lsli      	r2, r2, 4
    3fdc:	0bfa      	bt      	0x3fd0	// 3fd0 <EXI10to15IntHandler+0x2c>
	else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) 
    3fde:	932c      	ld.w      	r1, (r3, 0x30)
    3fe0:	3280      	movi      	r2, 128
    3fe2:	39cc      	btsti      	r1, 12
    3fe4:	4245      	lsli      	r2, r2, 5
    3fe6:	0bf5      	bt      	0x3fd0	// 3fd0 <EXI10to15IntHandler+0x2c>
	else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) 
    3fe8:	932c      	ld.w      	r1, (r3, 0x30)
    3fea:	3280      	movi      	r2, 128
    3fec:	39ce      	btsti      	r1, 14
    3fee:	4247      	lsli      	r2, r2, 7
    3ff0:	0bf0      	bt      	0x3fd0	// 3fd0 <EXI10to15IntHandler+0x2c>
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 
    3ff2:	932c      	ld.w      	r1, (r3, 0x30)
    3ff4:	3280      	movi      	r2, 128
    3ff6:	39cf      	btsti      	r1, 15
    3ff8:	4248      	lsli      	r2, r2, 8
    3ffa:	0beb      	bt      	0x3fd0	// 3fd0 <EXI10to15IntHandler+0x2c>
}
    3ffc:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    4000:	9880      	ld.w      	r4, (r14, 0x0)
    4002:	1402      	addi      	r14, r14, 8
    4004:	1463      	ipop
    4006:	1461      	nir
    4008:	20000058 	.long	0x20000058

Disassembly of section .text.Switch_IOConfig:

0000400c <Switch_IOConfig>:
uint16_t Switch_State = Temp_Shutoff;
uint16_t sample_value = 0xffff; //缓冲100ms,避免返回局部变量值0
uint8_t Switch_Active = 0;
extern uint8_t ExhaustFanStep;                 //0:停止输出, >0: 排气扇工作
void Switch_IOConfig(void)
{
    400c:	14d0      	push      	r15
    y.PUE = GPIO_PUE_Input_Disable;
    y.PDE = GPIO_PDE_Input_Disable;
    GPIO_Init(IO_switch, &y);
	 * */

    GPIO_Init(GPIOA0,IO_Switch,Intput);
    400e:	1064      	lrw      	r3, 0x2000004c	// 401c <Switch_IOConfig+0x10>
    4010:	3201      	movi      	r2, 1
    4012:	9300      	ld.w      	r0, (r3, 0x0)
    4014:	3108      	movi      	r1, 8
    4016:	e3ffed29 	bsr      	0x1a68	// 1a68 <GPIO_Init>
}
    401a:	1490      	pop      	r15
    401c:	2000004c 	.long	0x2000004c

Disassembly of section .text.switch_clock:

00004020 <switch_clock>:

//tick 10ms
void switch_clock(void)
{
    if(switch_tick200ms < 0xffff) switch_tick200ms++;
    4020:	1044      	lrw      	r2, 0x20000072	// 4030 <switch_clock+0x10>
    4022:	8a60      	ld.h      	r3, (r2, 0x0)
    4024:	1024      	lrw      	r1, 0xffff	// 4034 <switch_clock+0x14>
    4026:	644e      	cmpne      	r3, r1
    4028:	0c03      	bf      	0x402e	// 402e <switch_clock+0xe>
    402a:	2300      	addi      	r3, 1
    402c:	aa60      	st.h      	r3, (r2, 0x0)
}
    402e:	783c      	jmp      	r15
    4030:	20000072 	.long	0x20000072
    4034:	0000ffff 	.long	0x0000ffff

Disassembly of section .text.SwitchKey:

00004038 <SwitchKey>:

void SwitchKey(void)
{
    4038:	14d1      	push      	r4, r15
    if(switch_tick200ms >= 2)
    403a:	128d      	lrw      	r4, 0x20000072	// 416c <SwitchKey+0x134>
    403c:	8c60      	ld.h      	r3, (r4, 0x0)
    403e:	3b01      	cmphsi      	r3, 2
    4040:	0c0a      	bf      	0x4054	// 4054 <SwitchKey+0x1c>
    {
        switch_tick200ms -= 2;
    4042:	2b01      	subi      	r3, 2
        sample_value = SamplingSingle(ADC_Switch); //测量的AD范围值+-20作为判断范围
    4044:	3000      	movi      	r0, 0
        switch_tick200ms -= 2;
    4046:	ac60      	st.h      	r3, (r4, 0x0)
        sample_value = SamplingSingle(ADC_Switch); //测量的AD范围值+-20作为判断范围
    4048:	e3fffe5c 	bsr      	0x3d00	// 3d00 <SamplingSingle>
        Switch_Active = 1;
    404c:	1269      	lrw      	r3, 0x2000011e	// 4170 <SwitchKey+0x138>
    404e:	3201      	movi      	r2, 1
        sample_value = SamplingSingle(ADC_Switch); //测量的AD范围值+-20作为判断范围
    4050:	ac01      	st.h      	r0, (r4, 0x2)
        Switch_Active = 1;
    4052:	a340      	st.b      	r2, (r3, 0x0)
    }

    if(sample_value == 0xffff) return;
    4054:	8c61      	ld.h      	r3, (r4, 0x2)
    4056:	1248      	lrw      	r2, 0xffff	// 4174 <SwitchKey+0x13c>
    4058:	648e      	cmpne      	r3, r2
    405a:	0c13      	bf      	0x4080	// 4080 <SwitchKey+0x48>
    if(sample_value >= 982)
    405c:	1247      	lrw      	r2, 0x3d5	// 4178 <SwitchKey+0x140>
    405e:	64c8      	cmphs      	r2, r3
    4060:	1284      	lrw      	r4, 0x2000011e	// 4170 <SwitchKey+0x138>
    4062:	0810      	bt      	0x4082	// 4082 <SwitchKey+0x4a>
    { //1023 [sample_value * 0.04, ]
        if(Switch_State != Temp_Set_Smoke)
    4064:	8c41      	ld.h      	r2, (r4, 0x2)
    4066:	33b4      	movi      	r3, 180
            ADC_KeyUpDown();
        }
    }
    else if((sample_value >= 75) && (sample_value <= 140))
    { //100; [sample_value * 0.25, sample_value * 0.4]
        if(Switch_State != Temp_Set_500)
    4068:	64ca      	cmpne      	r2, r3
    406a:	0851      	bt      	0x410c	// 410c <SwitchKey+0xd4>
                // Key_init();
            // }
        }
    }

    if (Switch_State == Temp_Shutoff) switch_ONOFF = 0;
    406c:	8c41      	ld.h      	r2, (r4, 0x2)
    406e:	3a40      	cmpnei      	r2, 0
    4070:	3300      	movi      	r3, 0
    4072:	60cd      	addc      	r3, r3
    4074:	1222      	lrw      	r1, 0x20000458	// 417c <SwitchKey+0x144>
    4076:	a160      	st.b      	r3, (r1, 0x0)
    // if((switch_ONOFF > 0) && (key_ONOFF > 0)) lcd_show_config.ShowBit = 1;
    // else
    // {
    //     lcd_show_config.ShowBit = 0;
    // }
    Temp_Param.oven_set = Switch_State; //设置FanCtrl的温度设定值
    4078:	1262      	lrw      	r3, 0x20000468	// 4180 <SwitchKey+0x148>
    407a:	ab41      	st.h      	r2, (r3, 0x2)
    temp_set = Switch_State;
    407c:	1262      	lrw      	r3, 0x2000007c	// 4184 <SwitchKey+0x14c>
    407e:	ab40      	st.h      	r2, (r3, 0x0)
	Temp_Param.oven_set = Switch_State;
	
}
    4080:	1491      	pop      	r4, r15
    else if((sample_value >= 807) && (sample_value <= 967))
    4082:	1242      	lrw      	r2, 0xfffffcd9	// 4188 <SwitchKey+0x150>
    4084:	608c      	addu      	r2, r3
    4086:	7489      	zexth      	r2, r2
    4088:	31a0      	movi      	r1, 160
    408a:	6484      	cmphs      	r1, r2
    408c:	0c04      	bf      	0x4094	// 4094 <SwitchKey+0x5c>
        if(Switch_State != Temp_Set_200)
    408e:	8c41      	ld.h      	r2, (r4, 0x2)
    4090:	33c8      	movi      	r3, 200
    4092:	07eb      	br      	0x4068	// 4068 <SwitchKey+0x30>
    else if((sample_value >= 703) && (sample_value <= 777))
    4094:	115e      	lrw      	r2, 0xfffffd41	// 418c <SwitchKey+0x154>
    4096:	608c      	addu      	r2, r3
    4098:	7489      	zexth      	r2, r2
    409a:	314a      	movi      	r1, 74
    409c:	6484      	cmphs      	r1, r2
    409e:	0c04      	bf      	0x40a6	// 40a6 <SwitchKey+0x6e>
        if(Switch_State != Temp_Set_225)
    40a0:	8c41      	ld.h      	r2, (r4, 0x2)
    40a2:	33e1      	movi      	r3, 225
    40a4:	07e2      	br      	0x4068	// 4068 <SwitchKey+0x30>
    else if((sample_value >= 607) && (sample_value <= 684))
    40a6:	115b      	lrw      	r2, 0xfffffda1	// 4190 <SwitchKey+0x158>
    40a8:	608c      	addu      	r2, r3
    40aa:	7489      	zexth      	r2, r2
    40ac:	314d      	movi      	r1, 77
    40ae:	6484      	cmphs      	r1, r2
    40b0:	0c04      	bf      	0x40b8	// 40b8 <SwitchKey+0x80>
        if(Switch_State != Temp_Set_250)
    40b2:	8c41      	ld.h      	r2, (r4, 0x2)
    40b4:	33fa      	movi      	r3, 250
    40b6:	07d9      	br      	0x4068	// 4068 <SwitchKey+0x30>
    else if((sample_value >= 521) && (sample_value <= 599))
    40b8:	1157      	lrw      	r2, 0xfffffdf7	// 4194 <SwitchKey+0x15c>
    40ba:	608c      	addu      	r2, r3
    40bc:	7489      	zexth      	r2, r2
    40be:	314e      	movi      	r1, 78
    40c0:	6484      	cmphs      	r1, r2
    40c2:	0c04      	bf      	0x40ca	// 40ca <SwitchKey+0x92>
        if(Switch_State != Temp_Set_300)
    40c4:	8c41      	ld.h      	r2, (r4, 0x2)
    40c6:	1175      	lrw      	r3, 0x113	// 4198 <SwitchKey+0x160>
    40c8:	07d0      	br      	0x4068	// 4068 <SwitchKey+0x30>
    else if((sample_value >= 419) && (sample_value <= 498))
    40ca:	1155      	lrw      	r2, 0xfffffe5d	// 419c <SwitchKey+0x164>
    40cc:	608c      	addu      	r2, r3
    40ce:	7489      	zexth      	r2, r2
    40d0:	314f      	movi      	r1, 79
    40d2:	6484      	cmphs      	r1, r2
    40d4:	0c05      	bf      	0x40de	// 40de <SwitchKey+0xa6>
        if(Switch_State != Temp_Set_350)
    40d6:	8c41      	ld.h      	r2, (r4, 0x2)
    40d8:	3396      	movi      	r3, 150
        if(Switch_State != Temp_Set_500)
    40da:	4361      	lsli      	r3, r3, 1
    40dc:	07c6      	br      	0x4068	// 4068 <SwitchKey+0x30>
    else if((sample_value >= 322) && (sample_value <= 397))
    40de:	1151      	lrw      	r2, 0xfffffebe	// 41a0 <SwitchKey+0x168>
    40e0:	608c      	addu      	r2, r3
    40e2:	7489      	zexth      	r2, r2
    40e4:	314b      	movi      	r1, 75
    40e6:	6484      	cmphs      	r1, r2
    40e8:	0c04      	bf      	0x40f0	// 40f0 <SwitchKey+0xb8>
        if(Switch_State != Temp_Set_400)
    40ea:	8c41      	ld.h      	r2, (r4, 0x2)
    40ec:	116e      	lrw      	r3, 0x145	// 41a4 <SwitchKey+0x16c>
    40ee:	07bd      	br      	0x4068	// 4068 <SwitchKey+0x30>
    else if((sample_value >= 232) && (sample_value <= 333))
    40f0:	3200      	movi      	r2, 0
    40f2:	2ae7      	subi      	r2, 232
    40f4:	608c      	addu      	r2, r3
    40f6:	7489      	zexth      	r2, r2
    40f8:	3165      	movi      	r1, 101
    40fa:	6484      	cmphs      	r1, r2
    40fc:	0c0c      	bf      	0x4114	// 4114 <SwitchKey+0xdc>
        if(Switch_State != Temp_Set_450)
    40fe:	33af      	movi      	r3, 175
    4100:	8c41      	ld.h      	r2, (r4, 0x2)
    4102:	4361      	lsli      	r3, r3, 1
    4104:	64ca      	cmpne      	r2, r3
    4106:	0fb3      	bf      	0x406c	// 406c <SwitchKey+0x34>
            Switch_State = Temp_Set_450; //AD: [1113 - 50,1114 + 50], 220v供电: [1147-50,1149+50]
    4108:	33af      	movi      	r3, 175
    410a:	4361      	lsli      	r3, r3, 1
            Switch_State = Temp_Set_500; //AD: [366 - 50,367 + 50], 220v供电: [366-50,379+50]
    410c:	ac61      	st.h      	r3, (r4, 0x2)
            ADC_KeyUpDown();
    410e:	e0000869 	bsr      	0x51e0	// 51e0 <ADC_KeyUpDown>
    4112:	07ad      	br      	0x406c	// 406c <SwitchKey+0x34>
    else if((sample_value >= 158) && (sample_value <= 227))
    4114:	3200      	movi      	r2, 0
    4116:	2a9d      	subi      	r2, 158
    4118:	608c      	addu      	r2, r3
    411a:	7489      	zexth      	r2, r2
    411c:	3145      	movi      	r1, 69
    411e:	6484      	cmphs      	r1, r2
    4120:	0c04      	bf      	0x4128	// 4128 <SwitchKey+0xf0>
        if(Switch_State != Temp_Set_475)
    4122:	8c41      	ld.h      	r2, (r4, 0x2)
    4124:	33c8      	movi      	r3, 200
    4126:	07da      	br      	0x40da	// 40da <SwitchKey+0xa2>
    else if((sample_value >= 75) && (sample_value <= 140))
    4128:	3200      	movi      	r2, 0
    412a:	2a4a      	subi      	r2, 75
    412c:	608c      	addu      	r2, r3
    412e:	7489      	zexth      	r2, r2
    4130:	3141      	movi      	r1, 65
    4132:	6484      	cmphs      	r1, r2
    4134:	0c04      	bf      	0x413c	// 413c <SwitchKey+0x104>
        if(Switch_State != Temp_Set_500)
    4136:	8c41      	ld.h      	r2, (r4, 0x2)
    4138:	33fa      	movi      	r3, 250
    413a:	07d0      	br      	0x40da	// 40da <SwitchKey+0xa2>
    else if((sample_value >= 0) && (sample_value < 50))
    413c:	3231      	movi      	r2, 49
    413e:	64c8      	cmphs      	r2, r3
    4140:	0f96      	bf      	0x406c	// 406c <SwitchKey+0x34>
        if(Switch_State >= Temp_Set_Smoke)
    4142:	8c41      	ld.h      	r2, (r4, 0x2)
    4144:	33b3      	movi      	r3, 179
    4146:	648c      	cmphs      	r3, r2
    4148:	0b92      	bt      	0x406c	// 406c <SwitchKey+0x34>
            Switch_State = Temp_Shutoff; //AD: [0,191 + 50], 上电后一段时间采集的ad值是191
    414a:	3300      	movi      	r3, 0
    414c:	ac61      	st.h      	r3, (r4, 0x2)
			if(ExhaustFanClock == 0 && ExhaustFanStep==0)
    414e:	1077      	lrw      	r3, 0x2000014c	// 41a8 <SwitchKey+0x170>
    4150:	8b60      	ld.h      	r3, (r3, 0x0)
    4152:	3b40      	cmpnei      	r3, 0
    4154:	0808      	bt      	0x4164	// 4164 <SwitchKey+0x12c>
    4156:	1076      	lrw      	r3, 0x200004c0	// 41ac <SwitchKey+0x174>
    4158:	8360      	ld.b      	r3, (r3, 0x0)
    415a:	3b40      	cmpnei      	r3, 0
    415c:	0804      	bt      	0x4164	// 4164 <SwitchKey+0x12c>
				UI_System.UI_Show = UI_OFF;
    415e:	3201      	movi      	r2, 1
    4160:	1074      	lrw      	r3, 0x200003f8	// 41b0 <SwitchKey+0x178>
    4162:	b356      	st.w      	r2, (r3, 0x58)
			HT162X_ResetRAM();
    4164:	e3fff7de 	bsr      	0x3120	// 3120 <HT162X_ResetRAM>
    4168:	0782      	br      	0x406c	// 406c <SwitchKey+0x34>
    416a:	0000      	bkpt
    416c:	20000072 	.long	0x20000072
    4170:	2000011e 	.long	0x2000011e
    4174:	0000ffff 	.long	0x0000ffff
    4178:	000003d5 	.long	0x000003d5
    417c:	20000458 	.long	0x20000458
    4180:	20000468 	.long	0x20000468
    4184:	2000007c 	.long	0x2000007c
    4188:	fffffcd9 	.long	0xfffffcd9
    418c:	fffffd41 	.long	0xfffffd41
    4190:	fffffda1 	.long	0xfffffda1
    4194:	fffffdf7 	.long	0xfffffdf7
    4198:	00000113 	.long	0x00000113
    419c:	fffffe5d 	.long	0xfffffe5d
    41a0:	fffffebe 	.long	0xfffffebe
    41a4:	00000145 	.long	0x00000145
    41a8:	2000014c 	.long	0x2000014c
    41ac:	200004c0 	.long	0x200004c0
    41b0:	200003f8 	.long	0x200003f8

Disassembly of section .text.InvSqrt:

000041b4 <InvSqrt>:
_Pt1000_State Pt1000_State;


//卡马克快速求平方根的倒数(替换标准库sqrt函数): 比标准库函数快4倍
float InvSqrt(float number)
{
    41b4:	14d4      	push      	r4-r7, r15
    long i;
    float x2, y;

    x2 = number * 0.5;
    41b6:	31fc      	movi      	r1, 252
{
    41b8:	6d03      	mov      	r4, r0
    x2 = number * 0.5;
    41ba:	4136      	lsli      	r1, r1, 22
    41bc:	e3ffe0da 	bsr      	0x370	// 370 <__mulsf3>
    y  = number;
    i  = *(long *)&y; //evil floating point bit level hacking
    i  = 0x5f3759df - (i >> 1); // 计算第一个近似根 // what the fuck?
    41c0:	5461      	asri      	r3, r4, 1
    41c2:	109f      	lrw      	r4, 0x5f3759df	// 423c <InvSqrt+0x88>
    41c4:	610e      	subu      	r4, r3
    y  = *(float *)&i;
    y  = y * (1.5 - (x2 * y * y)); //牛顿迭代法 // 1st iteration 
    41c6:	6c53      	mov      	r1, r4
    x2 = number * 0.5;
    41c8:	6d43      	mov      	r5, r0
    y  = y * (1.5 - (x2 * y * y)); //牛顿迭代法 // 1st iteration 
    41ca:	e3ffe0d3 	bsr      	0x370	// 370 <__mulsf3>
    41ce:	6c53      	mov      	r1, r4
    41d0:	e3ffe0d0 	bsr      	0x370	// 370 <__mulsf3>
    41d4:	e3ffe2b6 	bsr      	0x740	// 740 <__extendsfdf2>
    41d8:	6c83      	mov      	r2, r0
    41da:	6cc7      	mov      	r3, r1
    41dc:	3000      	movi      	r0, 0
    41de:	1039      	lrw      	r1, 0x3ff80000	// 4240 <InvSqrt+0x8c>
    41e0:	e3ffe46e 	bsr      	0xabc	// abc <__subdf3>
    41e4:	6dc3      	mov      	r7, r0
    41e6:	6c13      	mov      	r0, r4
    41e8:	6d87      	mov      	r6, r1
    41ea:	e3ffe2ab 	bsr      	0x740	// 740 <__extendsfdf2>
    41ee:	6c83      	mov      	r2, r0
    41f0:	6cc7      	mov      	r3, r1
    41f2:	6c1f      	mov      	r0, r7
    41f4:	6c5b      	mov      	r1, r6
    41f6:	e3ffe485 	bsr      	0xb00	// b00 <__muldf3>
    41fa:	e3ffe743 	bsr      	0x1080	// 1080 <__truncdfsf2>
    41fe:	6d03      	mov      	r4, r0
    y  = y * (1.5 - (x2 * y * y)); //2nd iteration, this can be removed
    4200:	6c43      	mov      	r1, r0
    4202:	6c17      	mov      	r0, r5
    4204:	e3ffe0b6 	bsr      	0x370	// 370 <__mulsf3>
    4208:	6c53      	mov      	r1, r4
    420a:	e3ffe0b3 	bsr      	0x370	// 370 <__mulsf3>
    420e:	e3ffe299 	bsr      	0x740	// 740 <__extendsfdf2>
    4212:	6c83      	mov      	r2, r0
    4214:	6cc7      	mov      	r3, r1
    4216:	3000      	movi      	r0, 0
    4218:	102a      	lrw      	r1, 0x3ff80000	// 4240 <InvSqrt+0x8c>
    421a:	e3ffe451 	bsr      	0xabc	// abc <__subdf3>
    421e:	6d83      	mov      	r6, r0
    4220:	6c13      	mov      	r0, r4
    4222:	6d47      	mov      	r5, r1
    4224:	e3ffe28e 	bsr      	0x740	// 740 <__extendsfdf2>
    4228:	6c83      	mov      	r2, r0
    422a:	6cc7      	mov      	r3, r1
    422c:	6c1b      	mov      	r0, r6
    422e:	6c57      	mov      	r1, r5
    4230:	e3ffe468 	bsr      	0xb00	// b00 <__muldf3>
    4234:	e3ffe726 	bsr      	0x1080	// 1080 <__truncdfsf2>

    return y;
}
    4238:	1494      	pop      	r4-r7, r15
    423a:	0000      	bkpt
    423c:	5f3759df 	.long	0x5f3759df
    4240:	3ff80000 	.long	0x3ff80000

Disassembly of section .text.AD_Convert_R:

00004244 <AD_Convert_R>:


//根据分压电路转换成电阻
//输入 12位AD, 输出对应的 电阻值
double AD_Convert_R(uint32_t ad)
{
    4244:	14d0      	push      	r15
    double temp;

    temp = ad;
    if(temp <= 500)
    4246:	33fa      	movi      	r3, 250
    4248:	4361      	lsli      	r3, r3, 1
    424a:	640c      	cmphs      	r3, r0
    424c:	0815      	bt      	0x4276	// 4276 <AD_Convert_R+0x32>
    {
        temp = 7192; //AD <= 500时,认为电阻有 7192 Ω
    }
    else if(temp >= 4096)
    424e:	106e      	lrw      	r3, 0xfff	// 4284 <AD_Convert_R+0x40>
    4250:	640c      	cmphs      	r3, r0
    4252:	0c15      	bf      	0x427c	// 427c <AD_Convert_R+0x38>
    temp = ad;
    4254:	e3ffe72e 	bsr      	0x10b0	// 10b0 <__floatunsidf>
    4258:	6c83      	mov      	r2, r0
    425a:	6cc7      	mov      	r3, r1
    {
        temp = 0; //最小电阻 0 Ω
    }
    else
    { //根据分压电路,得出AD转电阻的公式
        temp = (4096.0 / temp - 1.0) * 1000.0; //以VDD为AD参考源,根据分压电路推导出 12位AD值转电阻的公式:  R = ((4096/AD) - 1) * 1000;  //1000是接地电阻1k
    425c:	3000      	movi      	r0, 0
    425e:	102b      	lrw      	r1, 0x40b00000	// 4288 <AD_Convert_R+0x44>
    4260:	e3ffe56a 	bsr      	0xd34	// d34 <__divdf3>
    4264:	3200      	movi      	r2, 0
    4266:	106a      	lrw      	r3, 0x3ff00000	// 428c <AD_Convert_R+0x48>
    4268:	e3ffe42a 	bsr      	0xabc	// abc <__subdf3>
    426c:	3200      	movi      	r2, 0
    426e:	1069      	lrw      	r3, 0x408f4000	// 4290 <AD_Convert_R+0x4c>
    4270:	e3ffe448 	bsr      	0xb00	// b00 <__muldf3>
    } 

    return temp;
}
    4274:	1490      	pop      	r15
        temp = 7192; //AD <= 500时,认为电阻有 7192 Ω
    4276:	3000      	movi      	r0, 0
    4278:	1027      	lrw      	r1, 0x40bc1800	// 4294 <AD_Convert_R+0x50>
    427a:	07fd      	br      	0x4274	// 4274 <AD_Convert_R+0x30>
        temp = 0; //最小电阻 0 Ω
    427c:	3000      	movi      	r0, 0
    427e:	3100      	movi      	r1, 0
    return temp;
    4280:	07fa      	br      	0x4274	// 4274 <AD_Convert_R+0x30>
    4282:	0000      	bkpt
    4284:	00000fff 	.long	0x00000fff
    4288:	40b00000 	.long	0x40b00000
    428c:	3ff00000 	.long	0x3ff00000
    4290:	408f4000 	.long	0x408f4000
    4294:	40bc1800 	.long	0x40bc1800

Disassembly of section .text.V_Convert_R:

00004298 <V_Convert_R>:

//将电压转成电阻
//输入的 VDD 
//V_Div 
float V_Convert_R(float Vdd,float V_Div)
{
    4298:	14d2      	push      	r4-r5, r15
    429a:	6d07      	mov      	r4, r1
    float R_Div = 1000.0;
    float R_Up;

    if(V_Div > (Vdd - 1000)) R_Up = 0;
    429c:	1033      	lrw      	r1, 0x447a0000	// 42e8 <V_Convert_R+0x50>
{
    429e:	6d43      	mov      	r5, r0
    if(V_Div > (Vdd - 1000)) R_Up = 0;
    42a0:	e3ffe04a 	bsr      	0x334	// 334 <__subsf3>
    42a4:	6c53      	mov      	r1, r4
    42a6:	e3ffe1b9 	bsr      	0x618	// 618 <__ltsf2>
    42aa:	38df      	btsti      	r0, 31
    42ac:	081a      	bt      	0x42e0	// 42e0 <V_Convert_R+0x48>
    else if(V_Div < 100) R_Up = 10000; 
    42ae:	1030      	lrw      	r1, 0x42c80000	// 42ec <V_Convert_R+0x54>
    42b0:	6c13      	mov      	r0, r4
    42b2:	e3ffe1b3 	bsr      	0x618	// 618 <__ltsf2>
    42b6:	38df      	btsti      	r0, 31
    42b8:	0816      	bt      	0x42e4	// 42e4 <V_Convert_R+0x4c>
    else
    {
        R_Up = (R_Div * (Vdd - V_Div)) / V_Div; //上拉电阻 = (分压电阻 * (VDD - 分压)) / 分压 
    42ba:	6c53      	mov      	r1, r4
    42bc:	6c17      	mov      	r0, r5
    42be:	e3ffe03b 	bsr      	0x334	// 334 <__subsf3>
    42c2:	102a      	lrw      	r1, 0x447a0000	// 42e8 <V_Convert_R+0x50>
    42c4:	e3ffe056 	bsr      	0x370	// 370 <__mulsf3>
    42c8:	6c53      	mov      	r1, r4
    42ca:	e3ffe0db 	bsr      	0x480	// 480 <__divsf3>
        R_Up *= 0.9807; //补偿; Pt1000测量误差13~20Ω
    42ce:	e3ffe239 	bsr      	0x740	// 740 <__extendsfdf2>
    42d2:	1048      	lrw      	r2, 0xf765fd8b	// 42f0 <V_Convert_R+0x58>
    42d4:	1068      	lrw      	r3, 0x3fef61e4	// 42f4 <V_Convert_R+0x5c>
    42d6:	e3ffe415 	bsr      	0xb00	// b00 <__muldf3>
    42da:	e3ffe6d3 	bsr      	0x1080	// 1080 <__truncdfsf2>
    } 
    
    return R_Up;
}
    42de:	1492      	pop      	r4-r5, r15
    if(V_Div > (Vdd - 1000)) R_Up = 0;
    42e0:	3000      	movi      	r0, 0
    42e2:	07fe      	br      	0x42de	// 42de <V_Convert_R+0x46>
    else if(V_Div < 100) R_Up = 10000; 
    42e4:	1005      	lrw      	r0, 0x461c4000	// 42f8 <V_Convert_R+0x60>
    return R_Up;
    42e6:	07fc      	br      	0x42de	// 42de <V_Convert_R+0x46>
    42e8:	447a0000 	.long	0x447a0000
    42ec:	42c80000 	.long	0x42c80000
    42f0:	f765fd8b 	.long	0xf765fd8b
    42f4:	3fef61e4 	.long	0x3fef61e4
    42f8:	461c4000 	.long	0x461c4000

Disassembly of section .text.Quadratic:

000042fc <Quadratic>:
//Pt1000电阻转C温度值
//Pt1000铂电阻的一元二次解温度公式
//输入电阻值, 例如 1000.000
//返回 C温度(有符号值),有效位小数点后2位
double Quadratic(float R_x)
{
    42fc:	14d4      	push      	r4-r7, r15
    double a;
    double b;
    double c;
    double x = 0.0;

    if(R_x <= 803)
    42fe:	1128      	lrw      	r1, 0x4448c000	// 439c <Quadratic+0xa0>
{
    4300:	6d03      	mov      	r4, r0
    if(R_x <= 803)
    4302:	e3ffe1a7 	bsr      	0x650	// 650 <__lesf2>
    4306:	3820      	cmplti      	r0, 1
    4308:	11a6      	lrw      	r5, 0x2000045c	// 43a0 <Quadratic+0xa4>
    430a:	0c08      	bf      	0x431a	// 431a <Quadratic+0x1e>
    { //判断Pt1000电阻 <= 100, 就认为铂电阻短路
        x = -222.935332;
        Pt1000_State = Pt1000_Short;
    430c:	3301      	movi      	r3, 1
    430e:	b560      	st.w      	r3, (r5, 0x0)
        x = -222.935332;
    4310:	11e5      	lrw      	r7, 0x3d5fdcdf	// 43a4 <Quadratic+0xa8>
    4312:	1186      	lrw      	r4, 0xc06bddee	// 43a8 <Quadratic+0xac>
		if(InvSqrt(x) != 0) x = (-b + 1.0/InvSqrt(x)) / (2.0 * a);
        Pt1000_State = Pt1000_Normal;
    }

    return x;
}
    4314:	6c1f      	mov      	r0, r7
    4316:	6c53      	mov      	r1, r4
    4318:	1494      	pop      	r4-r7, r15
    else if (R_x >= 3120)
    431a:	1125      	lrw      	r1, 0x45430000	// 43ac <Quadratic+0xb0>
    431c:	6c13      	mov      	r0, r4
    431e:	e3ffe161 	bsr      	0x5e0	// 5e0 <__gesf2>
    4322:	38df      	btsti      	r0, 31
    4324:	0806      	bt      	0x4330	// 4330 <Quadratic+0x34>
        Pt1000_State = Pt1000_Open;
    4326:	3302      	movi      	r3, 2
    4328:	b560      	st.w      	r3, (r5, 0x0)
        x = 1256.896275;
    432a:	11e2      	lrw      	r7, 0xc91d14e4	// 43b0 <Quadratic+0xb4>
    432c:	1182      	lrw      	r4, 0x4093a395	// 43b4 <Quadratic+0xb8>
    432e:	07f3      	br      	0x4314	// 4314 <Quadratic+0x18>
        c = 1000.000 - R_x;
    4330:	6c13      	mov      	r0, r4
    4332:	e3ffe207 	bsr      	0x740	// 740 <__extendsfdf2>
    4336:	6c83      	mov      	r2, r0
    4338:	6cc7      	mov      	r3, r1
    433a:	3000      	movi      	r0, 0
    433c:	103f      	lrw      	r1, 0x408f4000	// 43b8 <Quadratic+0xbc>
    433e:	e3ffe3bf 	bsr      	0xabc	// abc <__subdf3>
        x = b * b - (4.0 * a * c);
    4342:	105f      	lrw      	r2, 0xce8533b1	// 43bc <Quadratic+0xc0>
    4344:	107f      	lrw      	r3, 0xbf62ec6b	// 43c0 <Quadratic+0xc4>
    4346:	e3ffe3dd 	bsr      	0xb00	// b00 <__muldf3>
    434a:	6c83      	mov      	r2, r0
    434c:	6cc7      	mov      	r3, r1
    434e:	101e      	lrw      	r0, 0xc036666f	// 43c4 <Quadratic+0xc8>
    4350:	103e      	lrw      	r1, 0x402e8cb3	// 43c8 <Quadratic+0xcc>
    4352:	e3ffe3b5 	bsr      	0xabc	// abc <__subdf3>
    4356:	6d07      	mov      	r4, r1
    4358:	6dc3      	mov      	r7, r0
		if(InvSqrt(x) != 0) x = (-b + 1.0/InvSqrt(x)) / (2.0 * a);
    435a:	e3ffe693 	bsr      	0x1080	// 1080 <__truncdfsf2>
    435e:	e3ffff2b 	bsr      	0x41b4	// 41b4 <InvSqrt>
    4362:	3100      	movi      	r1, 0
    4364:	6d83      	mov      	r6, r0
    4366:	e3ffe105 	bsr      	0x570	// 570 <__nesf2>
    436a:	3840      	cmpnei      	r0, 0
    436c:	0c14      	bf      	0x4394	// 4394 <Quadratic+0x98>
    436e:	6c1b      	mov      	r0, r6
    4370:	e3ffe1e8 	bsr      	0x740	// 740 <__extendsfdf2>
    4374:	6c83      	mov      	r2, r0
    4376:	6cc7      	mov      	r3, r1
    4378:	3000      	movi      	r0, 0
    437a:	1035      	lrw      	r1, 0x3ff00000	// 43cc <Quadratic+0xd0>
    437c:	e3ffe4dc 	bsr      	0xd34	// d34 <__divdf3>
    4380:	1054      	lrw      	r2, 0xca57a787	// 43d0 <Quadratic+0xd4>
    4382:	1075      	lrw      	r3, 0x400f4432	// 43d4 <Quadratic+0xd8>
    4384:	e3ffe39c 	bsr      	0xabc	// abc <__subdf3>
    4388:	104d      	lrw      	r2, 0xce8533b1	// 43bc <Quadratic+0xc0>
    438a:	1074      	lrw      	r3, 0xbf52ec6b	// 43d8 <Quadratic+0xdc>
    438c:	e3ffe4d4 	bsr      	0xd34	// d34 <__divdf3>
    4390:	6dc3      	mov      	r7, r0
    4392:	6d07      	mov      	r4, r1
        Pt1000_State = Pt1000_Normal;
    4394:	3300      	movi      	r3, 0
    4396:	b560      	st.w      	r3, (r5, 0x0)
    return x;
    4398:	07be      	br      	0x4314	// 4314 <Quadratic+0x18>
    439a:	0000      	bkpt
    439c:	4448c000 	.long	0x4448c000
    43a0:	2000045c 	.long	0x2000045c
    43a4:	3d5fdcdf 	.long	0x3d5fdcdf
    43a8:	c06bddee 	.long	0xc06bddee
    43ac:	45430000 	.long	0x45430000
    43b0:	c91d14e4 	.long	0xc91d14e4
    43b4:	4093a395 	.long	0x4093a395
    43b8:	408f4000 	.long	0x408f4000
    43bc:	ce8533b1 	.long	0xce8533b1
    43c0:	bf62ec6b 	.long	0xbf62ec6b
    43c4:	c036666f 	.long	0xc036666f
    43c8:	402e8cb3 	.long	0x402e8cb3
    43cc:	3ff00000 	.long	0x3ff00000
    43d0:	ca57a787 	.long	0xca57a787
    43d4:	400f4432 	.long	0x400f4432
    43d8:	bf52ec6b 	.long	0xbf52ec6b

Disassembly of section .text.Quadratic_F:

000043dc <Quadratic_F>:
double Test_C;
//输入: Pt1000电阻, 输出: F温度值
double Quadratic_F(double R_x)
{
    43dc:	14d0      	push      	r15
    double temp;
    
    temp = Quadratic(R_x);
    43de:	e3ffe651 	bsr      	0x1080	// 1080 <__truncdfsf2>
    43e2:	e3ffff8d 	bsr      	0x42fc	// 42fc <Quadratic>
    Test_C = temp;
    43e6:	1067      	lrw      	r3, 0x20000460	// 4400 <Quadratic_F+0x24>
    F_temp *= 1.8;
    43e8:	1047      	lrw      	r2, 0xcccccccd	// 4404 <Quadratic_F+0x28>
    Test_C = temp;
    43ea:	b300      	st.w      	r0, (r3, 0x0)
    43ec:	b321      	st.w      	r1, (r3, 0x4)
    F_temp *= 1.8;
    43ee:	1067      	lrw      	r3, 0x3ffccccc	// 4408 <Quadratic_F+0x2c>
    43f0:	e3ffe388 	bsr      	0xb00	// b00 <__muldf3>
    F_temp += 32;
    43f4:	3200      	movi      	r2, 0
    43f6:	1066      	lrw      	r3, 0x40400000	// 440c <Quadratic_F+0x30>
    43f8:	e3ffe34a 	bsr      	0xa8c	// a8c <__adddf3>
    temp = CTemp_Convert_FTemp(temp);

    return temp;
}
    43fc:	1490      	pop      	r15
    43fe:	0000      	bkpt
    4400:	20000460 	.long	0x20000460
    4404:	cccccccd 	.long	0xcccccccd
    4408:	3ffccccc 	.long	0x3ffccccc
    440c:	40400000 	.long	0x40400000

Disassembly of section .text.Factory_Check:

00004410 <Factory_Check>:

uint8_t FactoryEnable = 0;


void Factory_Check(uint16_t checkTarget)
{
    4410:	14d2      	push      	r4-r5, r15
    uint8_t i;

    if(ReadIO_Key3 == 0)
    4412:	10b4      	lrw      	r5, 0x20000048	// 4460 <Factory_Check+0x50>
    4414:	3104      	movi      	r1, 4
    4416:	9500      	ld.w      	r0, (r5, 0x0)
    4418:	e3ffeca4 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    441c:	3840      	cmpnei      	r0, 0
    441e:	0820      	bt      	0x445e	// 445e <Factory_Check+0x4e>
    4420:	341e      	movi      	r4, 30
    4422:	2c00      	subi      	r4, 1
    4424:	7510      	zextb      	r4, r4
    {
        for (i = 0; i < 30; i++) keyboard_delay15ms();
    4426:	e3fffca9 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
    442a:	3c40      	cmpnei      	r4, 0
    442c:	0bfb      	bt      	0x4422	// 4422 <Factory_Check+0x12>
        if(ReadIO_Key3 == 0)
    442e:	3104      	movi      	r1, 4
    4430:	9500      	ld.w      	r0, (r5, 0x0)
    4432:	e3ffec97 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    4436:	3840      	cmpnei      	r0, 0
    4438:	0813      	bt      	0x445e	// 445e <Factory_Check+0x4e>
        {
            FactoryEnable = 1;
    443a:	3201      	movi      	r2, 1
    443c:	106a      	lrw      	r3, 0x20000122	// 4464 <Factory_Check+0x54>
            UI_System.UI_Show = UI_ON;
            IgniterClose;
    443e:	310f      	movi      	r1, 15
            FactoryEnable = 1;
    4440:	a340      	st.b      	r2, (r3, 0x0)
            UI_System.UI_Show = UI_ON;
    4442:	106a      	lrw      	r3, 0x200003f8	// 4468 <Factory_Check+0x58>
    4444:	b396      	st.w      	r4, (r3, 0x58)
            IgniterClose;
    4446:	108a      	lrw      	r4, 0x2000004c	// 446c <Factory_Check+0x5c>
    4448:	9400      	ld.w      	r0, (r4, 0x0)
    444a:	e3ffec83 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            HeaterFanClose;
    444e:	9400      	ld.w      	r0, (r4, 0x0)
    4450:	310e      	movi      	r1, 14
    4452:	e3ffec7f 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            ExhaustFanClose;
    4456:	9500      	ld.w      	r0, (r5, 0x0)
    4458:	3105      	movi      	r1, 5
    445a:	e3ffec7b 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            //     Lcd_Factory_Show(Switch_State);
            //     WDT_Clear();
            // }
        }
    }
}
    445e:	1492      	pop      	r4-r5, r15
    4460:	20000048 	.long	0x20000048
    4464:	20000122 	.long	0x20000122
    4468:	200003f8 	.long	0x200003f8
    446c:	2000004c 	.long	0x2000004c

Disassembly of section .text.Factory_Refresh:

00004470 <Factory_Refresh>:

void Factory_Refresh(void)
{
    4470:	14d4      	push      	r4-r7, r15
    4472:	1421      	subi      	r14, r14, 4
    uint16_t temp = 0;
    uint32_t param;
    
    if(UI_System.UI_Show == UI_ON)
    4474:	12a7      	lrw      	r5, 0x200003f8	// 4590 <Factory_Refresh+0x120>
    4476:	1268      	lrw      	r3, 0x20000048	// 4594 <Factory_Refresh+0x124>
    4478:	12c8      	lrw      	r6, 0x2000004c	// 4598 <Factory_Refresh+0x128>
    {
        KeyLed_ON;
    447a:	3100      	movi      	r1, 0
    if(UI_System.UI_Show == UI_ON)
    447c:	95f6      	ld.w      	r7, (r5, 0x58)
    447e:	3f40      	cmpnei      	r7, 0
        KeyLed_ON;
    4480:	9300      	ld.w      	r0, (r3, 0x0)
    if(UI_System.UI_Show == UI_ON)
    4482:	087f      	bt      	0x4580	// 4580 <Factory_Refresh+0x110>
        if(Temp_Param.oven_set != Temp_Shutoff)
    4484:	1286      	lrw      	r4, 0x20000468	// 459c <Factory_Refresh+0x12c>
        KeyLed_ON;
    4486:	e3ffec65 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
        if(Temp_Param.oven_set != Temp_Shutoff)
    448a:	8c61      	ld.h      	r3, (r4, 0x2)
    448c:	3b40      	cmpnei      	r3, 0
    448e:	0c7b      	bf      	0x4584	// 4584 <Factory_Refresh+0x114>
        {
            Lcd_Probe1_Show(Char_ON);
    4490:	3000      	movi      	r0, 0
    4492:	e3fff799 	bsr      	0x33c4	// 33c4 <Lcd_Probe1_Show>
            Lcd_Probe2_Show(Char_ON);
    4496:	3000      	movi      	r0, 0
    4498:	e3fff7a7 	bsr      	0x33e6	// 33e6 <Lcd_Probe2_Show>
            Lcd_Actual(Char_ON);
    449c:	3000      	movi      	r0, 0
    449e:	e3fff781 	bsr      	0x33a0	// 33a0 <Lcd_Actual>
            Lcd_Timer_Colon(Char_OFF);
    44a2:	3001      	movi      	r0, 1
    44a4:	e3fff787 	bsr      	0x33b2	// 33b2 <Lcd_Timer_Colon>
 //           Lcd_PSet(Char_ON);
            // Lcd_Numbers(Temp_Param.p_value,NULL,NULL,NULL,PSet_seg1);
            Lcd_Number(Temp_Param.oven_set / 100 % 10,Timer_seg1);
    44a8:	8c01      	ld.h      	r0, (r4, 0x2)
    44aa:	3164      	movi      	r1, 100
    44ac:	e3fff5b6 	bsr      	0x3018	// 3018 <__udivsi3>
    44b0:	7401      	zexth      	r0, r0
    44b2:	310a      	movi      	r1, 10
    44b4:	e3fff5d6 	bsr      	0x3060	// 3060 <__umodsi3>
    44b8:	7401      	zexth      	r0, r0
    44ba:	113a      	lrw      	r1, 0x5804	// 45a0 <Factory_Refresh+0x130>
    44bc:	e3fff7c6 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Temp_Param.oven_set / 10 % 10,Timer_seg2);
    44c0:	8c01      	ld.h      	r0, (r4, 0x2)
    44c2:	310a      	movi      	r1, 10
    44c4:	e3fff5aa 	bsr      	0x3018	// 3018 <__udivsi3>
    44c8:	7401      	zexth      	r0, r0
    44ca:	310a      	movi      	r1, 10
    44cc:	e3fff5ca 	bsr      	0x3060	// 3060 <__umodsi3>
    44d0:	7401      	zexth      	r0, r0
    44d2:	1135      	lrw      	r1, 0x5794	// 45a4 <Factory_Refresh+0x134>
    44d4:	e3fff7ba 	bsr      	0x3448	// 3448 <Lcd_Number>
			Lcd_Number(Temp_Param.oven_set % 10,Timer_seg3);
    44d8:	8c01      	ld.h      	r0, (r4, 0x2)
    44da:	310a      	movi      	r1, 10
    44dc:	e3fff5c2 	bsr      	0x3060	// 3060 <__umodsi3>
    44e0:	7401      	zexth      	r0, r0
    44e2:	1132      	lrw      	r1, 0x5784	// 45a8 <Factory_Refresh+0x138>
    44e4:	e3fff7b2 	bsr      	0x3448	// 3448 <Lcd_Number>
            Lcd_Number(Tube_Encoder_Space,Timer_seg4);
    44e8:	1131      	lrw      	r1, 0x57a4	// 45ac <Factory_Refresh+0x13c>
    44ea:	300a      	movi      	r0, 10
    44ec:	e3fff7ae 	bsr      	0x3448	// 3448 <Lcd_Number>
            Lcd_Number(Tube_Encoder_Space,Timer_seg5);
    44f0:	1130      	lrw      	r1, 0x57b4	// 45b0 <Factory_Refresh+0x140>
    44f2:	300a      	movi      	r0, 10
    44f4:	e3fff7aa 	bsr      	0x3448	// 3448 <Lcd_Number>
            Temp_Param.oven_Err = Pt_Normal;
            param = Temp_Param.oven;
            if(UI_System.Grill_Unit == Unit_C)
    44f8:	9575      	ld.w      	r3, (r5, 0x54)
            param = Temp_Param.oven;
    44fa:	8c00      	ld.h      	r0, (r4, 0x0)
            if(UI_System.Grill_Unit == Unit_C)
    44fc:	3b42      	cmpnei      	r3, 2
            Temp_Param.oven_Err = Pt_Normal;
    44fe:	b4e1      	st.w      	r7, (r4, 0x4)
            param = Temp_Param.oven;
    4500:	7403      	sexth      	r0, r0
            if(UI_System.Grill_Unit == Unit_C)
    4502:	0807      	bt      	0x4510	// 4510 <Factory_Refresh+0xa0>
            {
                if(RTD[0].status == Pt_Normal) param = F_Convert_C(param);
    4504:	116c      	lrw      	r3, 0x200004dc	// 45b4 <Factory_Refresh+0x144>
    4506:	9361      	ld.w      	r3, (r3, 0x4)
    4508:	3b40      	cmpnei      	r3, 0
    450a:	0803      	bt      	0x4510	// 4510 <Factory_Refresh+0xa0>
    450c:	e3fffb7a 	bsr      	0x3c00	// 3c00 <F_Convert_C>
            }
            Lcd_Numbers(param,NULL,TempAct_seg1,TempAct_seg2,TempAct_seg3);
    4510:	116a      	lrw      	r3, 0x57f4	// 45b8 <Factory_Refresh+0x148>
    4512:	114b      	lrw      	r2, 0x57d4	// 45bc <Factory_Refresh+0x14c>
    4514:	3100      	movi      	r1, 0
    4516:	b860      	st.w      	r3, (r14, 0x0)
    4518:	116a      	lrw      	r3, 0x57e4	// 45c0 <Factory_Refresh+0x150>
    451a:	e3fff7b5 	bsr      	0x3484	// 3484 <Lcd_Numbers>

            param = Temp_Param.probe1;
            if(UI_System.Grill_Unit == Unit_C)
    451e:	9575      	ld.w      	r3, (r5, 0x54)
            param = Temp_Param.probe1;
    4520:	8c04      	ld.h      	r0, (r4, 0x8)
            if(UI_System.Grill_Unit == Unit_C)
    4522:	3b42      	cmpnei      	r3, 2
            param = Temp_Param.probe1;
    4524:	7403      	sexth      	r0, r0
            if(UI_System.Grill_Unit == Unit_C)
    4526:	0807      	bt      	0x4534	// 4534 <Factory_Refresh+0xc4>
            {
                if(RTD[1].status == Pt_Normal) param = F_Convert_C(param);
    4528:	1163      	lrw      	r3, 0x200004dc	// 45b4 <Factory_Refresh+0x144>
    452a:	9363      	ld.w      	r3, (r3, 0xc)
    452c:	3b40      	cmpnei      	r3, 0
    452e:	0803      	bt      	0x4534	// 4534 <Factory_Refresh+0xc4>
    4530:	e3fffb68 	bsr      	0x3c00	// 3c00 <F_Convert_C>
            }
            Lcd_Numbers(param,NULL,Probe1_seg1,Probe1_seg2,Probe1_seg3);
    4534:	1164      	lrw      	r3, 0x5834	// 45c4 <Factory_Refresh+0x154>
    4536:	1145      	lrw      	r2, 0x5814	// 45c8 <Factory_Refresh+0x158>
    4538:	3100      	movi      	r1, 0
    453a:	b860      	st.w      	r3, (r14, 0x0)
    453c:	1164      	lrw      	r3, 0x5824	// 45cc <Factory_Refresh+0x15c>
    453e:	e3fff7a3 	bsr      	0x3484	// 3484 <Lcd_Numbers>
            Temp_Param.probe1_Err = Pt_Normal;
    4542:	3300      	movi      	r3, 0
    4544:	ac66      	st.h      	r3, (r4, 0xc)

            param = Temp_Param.probe2;
            if(UI_System.Grill_Unit == Unit_C)
    4546:	9575      	ld.w      	r3, (r5, 0x54)
            param = Temp_Param.probe2;
    4548:	8c07      	ld.h      	r0, (r4, 0xe)
            if(UI_System.Grill_Unit == Unit_C)
    454a:	3b42      	cmpnei      	r3, 2
            param = Temp_Param.probe2;
    454c:	7403      	sexth      	r0, r0
            if(UI_System.Grill_Unit == Unit_C)
    454e:	0807      	bt      	0x455c	// 455c <Factory_Refresh+0xec>
            {
                if(RTD[2].status == Pt_Normal) param = F_Convert_C(param);
    4550:	1079      	lrw      	r3, 0x200004dc	// 45b4 <Factory_Refresh+0x144>
    4552:	9365      	ld.w      	r3, (r3, 0x14)
    4554:	3b40      	cmpnei      	r3, 0
    4556:	0803      	bt      	0x455c	// 455c <Factory_Refresh+0xec>
    4558:	e3fffb54 	bsr      	0x3c00	// 3c00 <F_Convert_C>
            }
            Lcd_Numbers(param,NULL,Probe2_seg1,Probe2_seg2,Probe2_seg3);
    455c:	107d      	lrw      	r3, 0x5864	// 45d0 <Factory_Refresh+0x160>
    455e:	3100      	movi      	r1, 0
    4560:	b860      	st.w      	r3, (r14, 0x0)
    4562:	105d      	lrw      	r2, 0x5844	// 45d4 <Factory_Refresh+0x164>
    4564:	107d      	lrw      	r3, 0x5854	// 45d8 <Factory_Refresh+0x168>
    4566:	e3fff78f 	bsr      	0x3484	// 3484 <Lcd_Numbers>
            Temp_Param.probe2_Err = Pt_Normal;
    456a:	3300      	movi      	r3, 0
            // Lcd_Number(Tube_Encoder_Space,Probe2_seg1);
            // Lcd_Number(Tube_Encoder_Space,Probe2_seg2);
            // Lcd_Number(Tube_Encoder_Space,Probe2_seg3);

            Lcd_Cook(Char_ON);
    456c:	3000      	movi      	r0, 0
            Temp_Param.probe2_Err = Pt_Normal;
    456e:	ac69      	st.h      	r3, (r4, 0x12)
            Lcd_Cook(Char_ON);
    4570:	e3fff6fe 	bsr      	0x336c	// 336c <Lcd_Cook>
            Lcd_Backlight_ON;
    4574:	9600      	ld.w      	r0, (r6, 0x0)
    4576:	3109      	movi      	r1, 9
    4578:	e3ffebec 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    }
    if(temp == 1)
    {
        Lcd_Backlight_OFF;
    }
}
    457c:	1401      	addi      	r14, r14, 4
    457e:	1494      	pop      	r4-r7, r15
        KeyLed_OFF;
    4580:	e3ffebec 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
        Lcd_Backlight_OFF;
    4584:	9600      	ld.w      	r0, (r6, 0x0)
    4586:	3109      	movi      	r1, 9
    4588:	e3ffebe8 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
    458c:	07f8      	br      	0x457c	// 457c <Factory_Refresh+0x10c>
    458e:	0000      	bkpt
    4590:	200003f8 	.long	0x200003f8
    4594:	20000048 	.long	0x20000048
    4598:	2000004c 	.long	0x2000004c
    459c:	20000468 	.long	0x20000468
    45a0:	00005804 	.long	0x00005804
    45a4:	00005794 	.long	0x00005794
    45a8:	00005784 	.long	0x00005784
    45ac:	000057a4 	.long	0x000057a4
    45b0:	000057b4 	.long	0x000057b4
    45b4:	200004dc 	.long	0x200004dc
    45b8:	000057f4 	.long	0x000057f4
    45bc:	000057d4 	.long	0x000057d4
    45c0:	000057e4 	.long	0x000057e4
    45c4:	00005834 	.long	0x00005834
    45c8:	00005814 	.long	0x00005814
    45cc:	00005824 	.long	0x00005824
    45d0:	00005864 	.long	0x00005864
    45d4:	00005844 	.long	0x00005844
    45d8:	00005854 	.long	0x00005854

Disassembly of section .text.Factory_Show:

000045dc <Factory_Show>:

void Factory_Show(uint16_t temp_set)
{
    45dc:	14d4      	push      	r4-r7, r15
    45de:	1422      	subi      	r14, r14, 8
    static uint16_t Factory_Num = 0;
    uint16_t i;

    if(ReadIO_Key1 == 0)
    45e0:	03b5      	lrw      	r5, 0x2000004c	// 4808 <Factory_Show+0x22c>
{
    45e2:	6d03      	mov      	r4, r0
    if(ReadIO_Key1 == 0)
    45e4:	310d      	movi      	r1, 13
    45e6:	9500      	ld.w      	r0, (r5, 0x0)
    45e8:	e3ffebbc 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    45ec:	3840      	cmpnei      	r0, 0
    45ee:	081b      	bt      	0x4624	// 4624 <Factory_Show+0x48>
    45f0:	360a      	movi      	r6, 10
    45f2:	2e00      	subi      	r6, 1
    45f4:	7599      	zexth      	r6, r6
    {
        for (i = 0; i < 10; i++) keyboard_delay15ms();
    45f6:	e3fffbc1 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
    45fa:	3e40      	cmpnei      	r6, 0
    45fc:	0bfb      	bt      	0x45f2	// 45f2 <Factory_Show+0x16>
        if(ReadIO_Key1 == 0)
    45fe:	310d      	movi      	r1, 13
    4600:	9500      	ld.w      	r0, (r5, 0x0)
    4602:	e3ffebaf 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    4606:	3840      	cmpnei      	r0, 0
    4608:	080e      	bt      	0x4624	// 4624 <Factory_Show+0x48>
        {
            IgniterOpen;
    460a:	310f      	movi      	r1, 15
    460c:	9500      	ld.w      	r0, (r5, 0x0)
    460e:	e3ffeba5 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
            HeaterFanClose;
    4612:	310e      	movi      	r1, 14
    4614:	9500      	ld.w      	r0, (r5, 0x0)
    4616:	e3ffeb9d 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            ExhaustFanClose;
    461a:	137d      	lrw      	r3, 0x20000048	// 480c <Factory_Show+0x230>
    461c:	3105      	movi      	r1, 5
    461e:	9300      	ld.w      	r0, (r3, 0x0)
    4620:	e3ffeb98 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
        }
    }
    if(ReadIO_Key2 == 0)
    4624:	13da      	lrw      	r6, 0x20000048	// 480c <Factory_Show+0x230>
    4626:	3101      	movi      	r1, 1
    4628:	9600      	ld.w      	r0, (r6, 0x0)
    462a:	e3ffeb9b 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    462e:	3840      	cmpnei      	r0, 0
    4630:	081a      	bt      	0x4664	// 4664 <Factory_Show+0x88>
    4632:	370a      	movi      	r7, 10
    4634:	2f00      	subi      	r7, 1
    4636:	75dd      	zexth      	r7, r7
    {
        for (i = 0; i < 10; i++) keyboard_delay15ms();
    4638:	e3fffba0 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
    463c:	3f40      	cmpnei      	r7, 0
    463e:	0bfb      	bt      	0x4634	// 4634 <Factory_Show+0x58>
        if(ReadIO_Key2 == 0)
    4640:	3101      	movi      	r1, 1
    4642:	9600      	ld.w      	r0, (r6, 0x0)
    4644:	e3ffeb8e 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    4648:	3840      	cmpnei      	r0, 0
    464a:	080d      	bt      	0x4664	// 4664 <Factory_Show+0x88>
        {
            IgniterClose;
    464c:	310f      	movi      	r1, 15
    464e:	9500      	ld.w      	r0, (r5, 0x0)
    4650:	e3ffeb80 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            HeaterFanOpen;
    4654:	310e      	movi      	r1, 14
    4656:	9500      	ld.w      	r0, (r5, 0x0)
    4658:	e3ffeb80 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
            ExhaustFanClose;
    465c:	3105      	movi      	r1, 5
    465e:	9600      	ld.w      	r0, (r6, 0x0)
    4660:	e3ffeb78 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
        }
    }
    if(ReadIO_Key3 == 0)
    4664:	3104      	movi      	r1, 4
    4666:	9600      	ld.w      	r0, (r6, 0x0)
    4668:	e3ffeb7c 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    466c:	3840      	cmpnei      	r0, 0
    466e:	081a      	bt      	0x46a2	// 46a2 <Factory_Show+0xc6>
    4670:	370a      	movi      	r7, 10
    4672:	2f00      	subi      	r7, 1
    4674:	75dd      	zexth      	r7, r7
    {
        for (i = 0; i < 10; i++) keyboard_delay15ms();
    4676:	e3fffb81 	bsr      	0x3d78	// 3d78 <keyboard_delay15ms>
    467a:	3f40      	cmpnei      	r7, 0
    467c:	0bfb      	bt      	0x4672	// 4672 <Factory_Show+0x96>
        if(ReadIO_Key3 == 0)
    467e:	3104      	movi      	r1, 4
    4680:	9600      	ld.w      	r0, (r6, 0x0)
    4682:	e3ffeb6f 	bsr      	0x1d60	// 1d60 <GPIO_Read_Status>
    4686:	3840      	cmpnei      	r0, 0
    4688:	080d      	bt      	0x46a2	// 46a2 <Factory_Show+0xc6>
        {
            IgniterClose;
    468a:	310f      	movi      	r1, 15
    468c:	9500      	ld.w      	r0, (r5, 0x0)
    468e:	e3ffeb61 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            HeaterFanClose;
    4692:	9500      	ld.w      	r0, (r5, 0x0)
    4694:	310e      	movi      	r1, 14
    4696:	e3ffeb5d 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            ExhaustFanOpen;
    469a:	9600      	ld.w      	r0, (r6, 0x0)
    469c:	3105      	movi      	r1, 5
    469e:	e3ffeb5d 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
        }
    }

    if((temp_set == Temp_Set_Smoke) && (Factory_Num != 0))
    46a2:	33b4      	movi      	r3, 180
    46a4:	64d2      	cmpne      	r4, r3
    46a6:	12bb      	lrw      	r5, 0x20000122	// 4810 <Factory_Show+0x234>
    46a8:	0807      	bt      	0x46b6	// 46b6 <Factory_Show+0xda>
    46aa:	8d61      	ld.h      	r3, (r5, 0x2)
    46ac:	3b40      	cmpnei      	r3, 0
    46ae:	0c0b      	bf      	0x46c4	// 46c4 <Factory_Show+0xe8>
    {
        Factory_Num = 0;
    46b0:	3300      	movi      	r3, 0
    else if(temp_set == Temp_Set_300) Factory_Num = 444;
    else if(temp_set == Temp_Set_350) Factory_Num = 555;
    else if(temp_set == Temp_Set_400) Factory_Num = 666;
    else if(temp_set == Temp_Set_450) Factory_Num = 777;
    else if(temp_set == Temp_Set_475) Factory_Num = 888;
    else if(temp_set == Temp_Set_500) Factory_Num = 999;
    46b2:	ad61      	st.h      	r3, (r5, 0x2)
    46b4:	0408      	br      	0x46c4	// 46c4 <Factory_Show+0xe8>
    else if((temp_set == Temp_Set_200) && (Factory_Num != 111))
    46b6:	33c8      	movi      	r3, 200
    46b8:	64d2      	cmpne      	r4, r3
    46ba:	0825      	bt      	0x4704	// 4704 <Factory_Show+0x128>
    46bc:	8d41      	ld.h      	r2, (r5, 0x2)
    46be:	336f      	movi      	r3, 111
    else if((temp_set == Temp_Set_225) && (Factory_Num != 222))
    46c0:	64ca      	cmpne      	r2, r3
    46c2:	0bf8      	bt      	0x46b2	// 46b2 <Factory_Show+0xd6>

    UI_System.Timer1.Actual = 0;
    Temp_Param.oven_set = Factory_Num;
    46c4:	8d61      	ld.h      	r3, (r5, 0x2)
    46c6:	1294      	lrw      	r4, 0x20000468	// 4814 <Factory_Show+0x238>
    UI_System.Timer1.Actual = 0;
    46c8:	3200      	movi      	r2, 0
    46ca:	12f4      	lrw      	r7, 0x200003f8	// 4818 <Factory_Show+0x23c>
    Temp_Param.p_value = Factory_Num % 10;
    Temp_Param.oven_Err = RTD[0].status;
    46cc:	12d4      	lrw      	r6, 0x200004dc	// 481c <Factory_Show+0x240>
    Temp_Param.p_value = Factory_Num % 10;
    46ce:	310a      	movi      	r1, 10
    UI_System.Timer1.Actual = 0;
    46d0:	b740      	st.w      	r2, (r7, 0x0)
    Temp_Param.oven_set = Factory_Num;
    46d2:	ac61      	st.h      	r3, (r4, 0x2)
    Temp_Param.p_value = Factory_Num % 10;
    46d4:	6c0f      	mov      	r0, r3
    UI_System.Timer1.Actual = 0;
    46d6:	b841      	st.w      	r2, (r14, 0x4)
    Temp_Param.p_value = Factory_Num % 10;
    46d8:	b860      	st.w      	r3, (r14, 0x0)
    46da:	e3fff4c3 	bsr      	0x3060	// 3060 <__umodsi3>
    Temp_Param.oven_Err = RTD[0].status;
    46de:	9621      	ld.w      	r1, (r6, 0x4)
    Temp_Param.probe1_Err = RTD[1].status;
    46e0:	8e66      	ld.h      	r3, (r6, 0xc)
    46e2:	ac66      	st.h      	r3, (r4, 0xc)
    Temp_Param.probe2_Err = RTD[2].status;
    if(RTD[0].status != Pt_Normal)
    46e4:	3940      	cmpnei      	r1, 0
    Temp_Param.probe2_Err = RTD[2].status;
    46e6:	8e6a      	ld.h      	r3, (r6, 0x14)
    46e8:	ac69      	st.h      	r3, (r4, 0x12)
    Temp_Param.p_value = Factory_Num % 10;
    46ea:	a418      	st.b      	r0, (r4, 0x18)
    Temp_Param.oven_Err = RTD[0].status;
    46ec:	b421      	st.w      	r1, (r4, 0x4)
    if(RTD[0].status != Pt_Normal)
    46ee:	9860      	ld.w      	r3, (r14, 0x0)
    46f0:	9841      	ld.w      	r2, (r14, 0x4)
    46f2:	0c38      	bf      	0x4762	// 4762 <Factory_Show+0x186>
    {
        Temp_Param.oven = Factory_Num;
    46f4:	ac60      	st.h      	r3, (r4, 0x0)
        Temp_Param.oven_Err = Pt_Normal;
    46f6:	b441      	st.w      	r2, (r4, 0x4)
        Factory_Lcd_F(0,Char_ON);
    46f8:	3100      	movi      	r1, 0
            Factory_Lcd_F(0,Char_ON);
            Factory_Lcd_C(0,Char_OFF);
        }
        else if(UI_System.Grill_Unit == Unit_C)
        {
            Factory_Lcd_F(0,Char_OFF);
    46fa:	3000      	movi      	r0, 0
    46fc:	e3fff578 	bsr      	0x31ec	// 31ec <Factory_Lcd_F>
            Factory_Lcd_C(0,Char_ON);
    4700:	3100      	movi      	r1, 0
    4702:	043a      	br      	0x4776	// 4776 <Factory_Show+0x19a>
    else if((temp_set == Temp_Set_225) && (Factory_Num != 222))
    4704:	33e1      	movi      	r3, 225
    4706:	64d2      	cmpne      	r4, r3
    4708:	0804      	bt      	0x4710	// 4710 <Factory_Show+0x134>
    470a:	8d41      	ld.h      	r2, (r5, 0x2)
    470c:	33de      	movi      	r3, 222
    470e:	07d9      	br      	0x46c0	// 46c0 <Factory_Show+0xe4>
    else if(temp_set == Temp_Set_250) Factory_Num = 333;
    4710:	33fa      	movi      	r3, 250
    4712:	64d2      	cmpne      	r4, r3
    4714:	0803      	bt      	0x471a	// 471a <Factory_Show+0x13e>
    4716:	1265      	lrw      	r3, 0x14d	// 4828 <Factory_Show+0x24c>
    4718:	07cd      	br      	0x46b2	// 46b2 <Factory_Show+0xd6>
    else if(temp_set == Temp_Set_300) Factory_Num = 444;
    471a:	1262      	lrw      	r3, 0x113	// 4820 <Factory_Show+0x244>
    471c:	64d2      	cmpne      	r4, r3
    471e:	0804      	bt      	0x4726	// 4726 <Factory_Show+0x14a>
    4720:	33de      	movi      	r3, 222
    4722:	4361      	lsli      	r3, r3, 1
    4724:	07c7      	br      	0x46b2	// 46b2 <Factory_Show+0xd6>
    else if(temp_set == Temp_Set_350) Factory_Num = 555;
    4726:	3396      	movi      	r3, 150
    4728:	4361      	lsli      	r3, r3, 1
    472a:	64d2      	cmpne      	r4, r3
    472c:	0803      	bt      	0x4732	// 4732 <Factory_Show+0x156>
    472e:	1260      	lrw      	r3, 0x22b	// 482c <Factory_Show+0x250>
    4730:	07c1      	br      	0x46b2	// 46b2 <Factory_Show+0xd6>
    else if(temp_set == Temp_Set_400) Factory_Num = 666;
    4732:	117d      	lrw      	r3, 0x145	// 4824 <Factory_Show+0x248>
    4734:	64d2      	cmpne      	r4, r3
    4736:	0803      	bt      	0x473c	// 473c <Factory_Show+0x160>
    4738:	117e      	lrw      	r3, 0x29a	// 4830 <Factory_Show+0x254>
    473a:	07bc      	br      	0x46b2	// 46b2 <Factory_Show+0xd6>
    else if(temp_set == Temp_Set_450) Factory_Num = 777;
    473c:	33af      	movi      	r3, 175
    473e:	4361      	lsli      	r3, r3, 1
    4740:	64d2      	cmpne      	r4, r3
    4742:	0803      	bt      	0x4748	// 4748 <Factory_Show+0x16c>
    4744:	117c      	lrw      	r3, 0x309	// 4834 <Factory_Show+0x258>
    4746:	07b6      	br      	0x46b2	// 46b2 <Factory_Show+0xd6>
    else if(temp_set == Temp_Set_475) Factory_Num = 888;
    4748:	33c8      	movi      	r3, 200
    474a:	4361      	lsli      	r3, r3, 1
    474c:	64d2      	cmpne      	r4, r3
    474e:	0804      	bt      	0x4756	// 4756 <Factory_Show+0x17a>
    4750:	33de      	movi      	r3, 222
    4752:	4362      	lsli      	r3, r3, 2
    4754:	07af      	br      	0x46b2	// 46b2 <Factory_Show+0xd6>
    else if(temp_set == Temp_Set_500) Factory_Num = 999;
    4756:	33fa      	movi      	r3, 250
    4758:	4361      	lsli      	r3, r3, 1
    475a:	64d2      	cmpne      	r4, r3
    475c:	0bb4      	bt      	0x46c4	// 46c4 <Factory_Show+0xe8>
    475e:	1177      	lrw      	r3, 0x3e7	// 4838 <Factory_Show+0x25c>
    4760:	07a9      	br      	0x46b2	// 46b2 <Factory_Show+0xd6>
        Temp_Param.oven = RTD[0].value;
    4762:	8e60      	ld.h      	r3, (r6, 0x0)
    4764:	ac60      	st.h      	r3, (r4, 0x0)
        if(UI_System.Grill_Unit == Unit_F)
    4766:	9775      	ld.w      	r3, (r7, 0x54)
    4768:	3b41      	cmpnei      	r3, 1
    476a:	0816      	bt      	0x4796	// 4796 <Factory_Show+0x1ba>
            Factory_Lcd_F(0,Char_ON);
    476c:	3100      	movi      	r1, 0
    476e:	3000      	movi      	r0, 0
    4770:	e3fff53e 	bsr      	0x31ec	// 31ec <Factory_Lcd_F>
            Factory_Lcd_C(0,Char_OFF);
    4774:	3101      	movi      	r1, 1
            Factory_Lcd_C(0,Char_ON);
    4776:	3000      	movi      	r0, 0
    4778:	e3fff55a 	bsr      	0x322c	// 322c <Factory_Lcd_C>
        }
    }
    if(RTD[1].status != Pt_Normal)
    477c:	9663      	ld.w      	r3, (r6, 0xc)
    477e:	3b40      	cmpnei      	r3, 0
    4780:	0c0f      	bf      	0x479e	// 479e <Factory_Show+0x1c2>
    {
        Temp_Param.probe1 = Factory_Num;
    4782:	8d61      	ld.h      	r3, (r5, 0x2)
    4784:	ac64      	st.h      	r3, (r4, 0x8)
        Temp_Param.probe1_Err = Pt_Normal;
    4786:	3300      	movi      	r3, 0
    4788:	ac66      	st.h      	r3, (r4, 0xc)
        Factory_Lcd_F(1,Char_ON);
    478a:	3100      	movi      	r1, 0
            Factory_Lcd_F(1,Char_ON);
            Factory_Lcd_C(1,Char_OFF);
        }
        else if(UI_System.Grill_Unit == Unit_C)
        {
            Factory_Lcd_F(1,Char_OFF);
    478c:	3001      	movi      	r0, 1
    478e:	e3fff52f 	bsr      	0x31ec	// 31ec <Factory_Lcd_F>
            Factory_Lcd_C(1,Char_ON);
    4792:	3100      	movi      	r1, 0
    4794:	040f      	br      	0x47b2	// 47b2 <Factory_Show+0x1d6>
        else if(UI_System.Grill_Unit == Unit_C)
    4796:	3b42      	cmpnei      	r3, 2
    4798:	0bf2      	bt      	0x477c	// 477c <Factory_Show+0x1a0>
            Factory_Lcd_F(0,Char_OFF);
    479a:	3101      	movi      	r1, 1
    479c:	07af      	br      	0x46fa	// 46fa <Factory_Show+0x11e>
        Temp_Param.probe1 = RTD[1].value;
    479e:	8e64      	ld.h      	r3, (r6, 0x8)
    47a0:	ac64      	st.h      	r3, (r4, 0x8)
        if(UI_System.Grill_Unit == Unit_F)
    47a2:	9775      	ld.w      	r3, (r7, 0x54)
    47a4:	3b41      	cmpnei      	r3, 1
    47a6:	0816      	bt      	0x47d2	// 47d2 <Factory_Show+0x1f6>
            Factory_Lcd_F(1,Char_ON);
    47a8:	3100      	movi      	r1, 0
    47aa:	3001      	movi      	r0, 1
    47ac:	e3fff520 	bsr      	0x31ec	// 31ec <Factory_Lcd_F>
            Factory_Lcd_C(1,Char_OFF);
    47b0:	3101      	movi      	r1, 1
            Factory_Lcd_C(1,Char_ON);
    47b2:	3001      	movi      	r0, 1
    47b4:	e3fff53c 	bsr      	0x322c	// 322c <Factory_Lcd_C>
        }
    }
    if(RTD[2].status != Pt_Normal)
    47b8:	9665      	ld.w      	r3, (r6, 0x14)
    47ba:	3b40      	cmpnei      	r3, 0
    47bc:	0c0f      	bf      	0x47da	// 47da <Factory_Show+0x1fe>
    {
        Temp_Param.probe2 = Factory_Num;
    47be:	8d61      	ld.h      	r3, (r5, 0x2)
    47c0:	ac67      	st.h      	r3, (r4, 0xe)
        Temp_Param.probe2_Err = Pt_Normal;
    47c2:	3300      	movi      	r3, 0
    47c4:	ac69      	st.h      	r3, (r4, 0x12)
        Factory_Lcd_F(2,Char_ON);
    47c6:	3100      	movi      	r1, 0
            Factory_Lcd_F(2,Char_ON);
            Factory_Lcd_C(2,Char_OFF);
        }
        else if(UI_System.Grill_Unit == Unit_C)
        {
            Factory_Lcd_F(2,Char_OFF);
    47c8:	3002      	movi      	r0, 2
    47ca:	e3fff511 	bsr      	0x31ec	// 31ec <Factory_Lcd_F>
            Factory_Lcd_C(2,Char_ON);
    47ce:	3100      	movi      	r1, 0
    47d0:	040f      	br      	0x47ee	// 47ee <Factory_Show+0x212>
        else if(UI_System.Grill_Unit == Unit_C)
    47d2:	3b42      	cmpnei      	r3, 2
    47d4:	0bf2      	bt      	0x47b8	// 47b8 <Factory_Show+0x1dc>
            Factory_Lcd_F(1,Char_OFF);
    47d6:	3101      	movi      	r1, 1
    47d8:	07da      	br      	0x478c	// 478c <Factory_Show+0x1b0>
        Temp_Param.probe2 = RTD[2].value;
    47da:	8e68      	ld.h      	r3, (r6, 0x10)
    47dc:	ac67      	st.h      	r3, (r4, 0xe)
        if(UI_System.Grill_Unit == Unit_F)
    47de:	9775      	ld.w      	r3, (r7, 0x54)
    47e0:	3b41      	cmpnei      	r3, 1
    47e2:	080f      	bt      	0x4800	// 4800 <Factory_Show+0x224>
            Factory_Lcd_F(2,Char_ON);
    47e4:	3100      	movi      	r1, 0
    47e6:	3002      	movi      	r0, 2
    47e8:	e3fff502 	bsr      	0x31ec	// 31ec <Factory_Lcd_F>
            Factory_Lcd_C(2,Char_OFF);
    47ec:	3101      	movi      	r1, 1
            Factory_Lcd_C(2,Char_ON);
    47ee:	3002      	movi      	r0, 2
    47f0:	e3fff51e 	bsr      	0x322c	// 322c <Factory_Lcd_C>
        }
    }
    Factory_Refresh();
    47f4:	e3fffe3e 	bsr      	0x4470	// 4470 <Factory_Refresh>
    HT162X_RAM_Tx();
    47f8:	e3fff4f6 	bsr      	0x31e4	// 31e4 <HT162X_RAM_Tx>
}
    47fc:	1402      	addi      	r14, r14, 8
    47fe:	1494      	pop      	r4-r7, r15
        else if(UI_System.Grill_Unit == Unit_C)
    4800:	3b42      	cmpnei      	r3, 2
    4802:	0bf9      	bt      	0x47f4	// 47f4 <Factory_Show+0x218>
            Factory_Lcd_F(2,Char_OFF);
    4804:	3101      	movi      	r1, 1
    4806:	07e1      	br      	0x47c8	// 47c8 <Factory_Show+0x1ec>
    4808:	2000004c 	.long	0x2000004c
    480c:	20000048 	.long	0x20000048
    4810:	20000122 	.long	0x20000122
    4814:	20000468 	.long	0x20000468
    4818:	200003f8 	.long	0x200003f8
    481c:	200004dc 	.long	0x200004dc
    4820:	00000113 	.long	0x00000113
    4824:	00000145 	.long	0x00000145
    4828:	0000014d 	.long	0x0000014d
    482c:	0000022b 	.long	0x0000022b
    4830:	0000029a 	.long	0x0000029a
    4834:	00000309 	.long	0x00000309
    4838:	000003e7 	.long	0x000003e7

Disassembly of section .text.Factory_main:

0000483c <Factory_main>:

void Factory_main(void)
{
    483c:	14d2      	push      	r4-r5, r15
    uint16_t temp;
    uint32_t FanCtrl_Fan = 0;
    uint32_t FanCtrl_Heater = 1;
    uint32_t FanCtrl_Feed = 1;

    KeyDetection();
    483e:	e3fffb01 	bsr      	0x3e40	// 3e40 <KeyDetection>
    Factory_Check(key_param.once3);
    4842:	106c      	lrw      	r3, 0x20000455	// 4870 <Factory_main+0x34>
    4844:	8302      	ld.b      	r0, (r3, 0x2)
    4846:	e3fffde5 	bsr      	0x4410	// 4410 <Factory_Check>
    while (FactoryEnable)
    484a:	108b      	lrw      	r4, 0x20000122	// 4874 <Factory_main+0x38>
    {
        ADSampling();
        KeyDetection();
        SwitchKey();
        Factory_Show(Switch_State);
    484c:	10ab      	lrw      	r5, 0x20000120	// 4878 <Factory_main+0x3c>
    while (FactoryEnable)
    484e:	8460      	ld.b      	r3, (r4, 0x0)
    4850:	3b40      	cmpnei      	r3, 0
    4852:	0802      	bt      	0x4856	// 4856 <Factory_main+0x1a>
        WDT_Clear();
    }
}
    4854:	1492      	pop      	r4-r5, r15
        ADSampling();
    4856:	e00004fd 	bsr      	0x5250	// 5250 <ADSampling>
        KeyDetection();
    485a:	e3fffaf3 	bsr      	0x3e40	// 3e40 <KeyDetection>
        SwitchKey();
    485e:	e3fffbed 	bsr      	0x4038	// 4038 <SwitchKey>
        Factory_Show(Switch_State);
    4862:	8d00      	ld.h      	r0, (r5, 0x0)
    4864:	e3fffebc 	bsr      	0x45dc	// 45dc <Factory_Show>
        WDT_Clear();
    4868:	e3ffe856 	bsr      	0x1914	// 1914 <SYSCON_IWDCNT_Reload>
    486c:	07f1      	br      	0x484e	// 484e <Factory_main+0x12>
    486e:	0000      	bkpt
    4870:	20000455 	.long	0x20000455
    4874:	20000122 	.long	0x20000122
    4878:	20000120 	.long	0x20000120

Disassembly of section .text.Flash_Write:

0000487c <Flash_Write>:
#include "../LCD/UI.h"
#include "Flash_WR.h"


void Flash_Write(void)
{
    487c:	14d0      	push      	r15
    EnIFCClk;
    487e:	1068      	lrw      	r3, 0x2000005c	// 489c <Flash_Write+0x20>
    4880:	3201      	movi      	r2, 1
    4882:	9360      	ld.w      	r3, (r3, 0x0)
    4884:	b341      	st.w      	r2, (r3, 0x4)
    Page_ProgramData3(0x0000fe00,16,UI_System.Grill_Unit);
    4886:	30fe      	movi      	r0, 254
    4888:	1066      	lrw      	r3, 0x200003f8	// 48a0 <Flash_Write+0x24>
    488a:	3110      	movi      	r1, 16
    488c:	9355      	ld.w      	r2, (r3, 0x54)
    488e:	4008      	lsli      	r0, r0, 8
    4890:	e3ffee72 	bsr      	0x2574	// 2574 <Page_ProgramData3>
    SYSCON_IWDCNT_Reload();
    4894:	e3ffe840 	bsr      	0x1914	// 1914 <SYSCON_IWDCNT_Reload>
}
    4898:	1490      	pop      	r15
    489a:	0000      	bkpt
    489c:	2000005c 	.long	0x2000005c
    48a0:	200003f8 	.long	0x200003f8

Disassembly of section .text.Flash_Read:

000048a4 <Flash_Read>:

void Flash_Read(void)
{
    48a4:	14d2      	push      	r4-r5, r15
	static uint32_t temp = 0;
	
	EnIFCClk;
    48a6:	106c      	lrw      	r3, 0x2000005c	// 48d4 <Flash_Read+0x30>
	ReadDataArry2(0x0000fe00,16,&(temp));
    48a8:	10ac      	lrw      	r5, 0x20000128	// 48d8 <Flash_Read+0x34>
	EnIFCClk;
    48aa:	3401      	movi      	r4, 1
    48ac:	9360      	ld.w      	r3, (r3, 0x0)
	ReadDataArry2(0x0000fe00,16,&(temp));
    48ae:	30fe      	movi      	r0, 254
	EnIFCClk;
    48b0:	b381      	st.w      	r4, (r3, 0x4)
	ReadDataArry2(0x0000fe00,16,&(temp));
    48b2:	6c97      	mov      	r2, r5
    48b4:	3110      	movi      	r1, 16
    48b6:	4008      	lsli      	r0, r0, 8
    48b8:	e3ffeea0 	bsr      	0x25f8	// 25f8 <ReadDataArry2>
	SYSCON_IWDCNT_Reload();
    48bc:	e3ffe82c 	bsr      	0x1914	// 1914 <SYSCON_IWDCNT_Reload>
	UI_System.Grill_Unit = temp;
    48c0:	9540      	ld.w      	r2, (r5, 0x0)
	if((UI_System.Grill_Unit != Unit_F) && (UI_System.Grill_Unit != Unit_C)) UI_System.Grill_Unit = Unit_F;
    48c2:	5a63      	subi      	r3, r2, 1
    48c4:	3b01      	cmphsi      	r3, 2
    48c6:	1066      	lrw      	r3, 0x200003f8	// 48dc <Flash_Read+0x38>
    48c8:	0803      	bt      	0x48ce	// 48ce <Flash_Read+0x2a>
	UI_System.Grill_Unit = temp;
    48ca:	b355      	st.w      	r2, (r3, 0x54)
}
    48cc:	1492      	pop      	r4-r5, r15
	if((UI_System.Grill_Unit != Unit_F) && (UI_System.Grill_Unit != Unit_C)) UI_System.Grill_Unit = Unit_F;
    48ce:	b395      	st.w      	r4, (r3, 0x54)
}
    48d0:	07fe      	br      	0x48cc	// 48cc <Flash_Read+0x28>
    48d2:	0000      	bkpt
    48d4:	2000005c 	.long	0x2000005c
    48d8:	20000128 	.long	0x20000128
    48dc:	200003f8 	.long	0x200003f8

Disassembly of section .text.adc_model_delay0ms_output:

000048e0 <adc_model_delay0ms_output>:
    return voltage;
}

void adc_model_delay0ms_output(void)
{
    if(RTD[0].status == Pt_Normal)
    48e0:	105d      	lrw      	r2, 0x200004dc	// 4954 <adc_model_delay0ms_output+0x74>
    48e2:	9261      	ld.w      	r3, (r2, 0x4)
    48e4:	3b40      	cmpnei      	r3, 0
    48e6:	0813      	bt      	0x490c	// 490c <adc_model_delay0ms_output+0x2c>
    {
        // Temp_Param.oven = RTD[0].value;

		Temp_Param.probe1 = RTD[1].value;
    48e8:	107c      	lrw      	r3, 0x20000468	// 4958 <adc_model_delay0ms_output+0x78>
    48ea:	8a24      	ld.h      	r1, (r2, 0x8)
    48ec:	ab24      	st.h      	r1, (r3, 0x8)
		Temp_Param.probe2 = RTD[2].value;
    48ee:	8a28      	ld.h      	r1, (r2, 0x10)
    48f0:	ab27      	st.h      	r1, (r3, 0xe)
    else if(RTD[0].status == Pt_HighTemp)
    {
        if(Temp_Param.oven_Err == Pt_Normal) Temp_Param.oven_Err = Pt_HighTemp;
    }

    if (RTD[1].status == Pt_Normal) Temp_Param.probe1_Err = Pt_Normal;
    48f2:	9263      	ld.w      	r3, (r2, 0xc)
    48f4:	3b40      	cmpnei      	r3, 0
    48f6:	081a      	bt      	0x492a	// 492a <adc_model_delay0ms_output+0x4a>
    48f8:	1078      	lrw      	r3, 0x20000468	// 4958 <adc_model_delay0ms_output+0x78>
    48fa:	3100      	movi      	r1, 0
    else if(RTD[1].status == Pt_Short) Temp_Param.probe1_Err = Pt_Short;
    else if(RTD[1].status == Pt_Open) Temp_Param.probe1_Err = Pt_Open;
    48fc:	ab26      	st.h      	r1, (r3, 0xc)

    if (RTD[2].status == Pt_Normal) Temp_Param.probe2_Err = Pt_Normal;
    48fe:	9265      	ld.w      	r3, (r2, 0x14)
    4900:	3b40      	cmpnei      	r3, 0
    4902:	081e      	bt      	0x493e	// 493e <adc_model_delay0ms_output+0x5e>
    4904:	1075      	lrw      	r3, 0x20000468	// 4958 <adc_model_delay0ms_output+0x78>
    4906:	3200      	movi      	r2, 0
    else if(RTD[2].status == Pt_Short) Temp_Param.probe2_Err = Pt_Short;
    else if(RTD[2].status == Pt_Open) Temp_Param.probe2_Err = Pt_Open;
    4908:	ab49      	st.h      	r2, (r3, 0x12)
}
    490a:	783c      	jmp      	r15
    else if(RTD[0].status == Pt_Open)
    490c:	3b41      	cmpnei      	r3, 1
    490e:	0807      	bt      	0x491c	// 491c <adc_model_delay0ms_output+0x3c>
        if(Temp_Param.oven_Err == Pt_Normal) Temp_Param.oven_Err = Pt_HighTemp;
    4910:	1032      	lrw      	r1, 0x20000468	// 4958 <adc_model_delay0ms_output+0x78>
    4912:	9101      	ld.w      	r0, (r1, 0x4)
    4914:	3840      	cmpnei      	r0, 0
    4916:	0bee      	bt      	0x48f2	// 48f2 <adc_model_delay0ms_output+0x12>
    4918:	b161      	st.w      	r3, (r1, 0x4)
    491a:	07ec      	br      	0x48f2	// 48f2 <adc_model_delay0ms_output+0x12>
    else if(RTD[0].status == Pt_Short)
    491c:	3b42      	cmpnei      	r3, 2
    491e:	0ff9      	bf      	0x4910	// 4910 <adc_model_delay0ms_output+0x30>
    else if(RTD[0].status == Pt_LowTemp)
    4920:	3b43      	cmpnei      	r3, 3
    4922:	0ff7      	bf      	0x4910	// 4910 <adc_model_delay0ms_output+0x30>
    else if(RTD[0].status == Pt_HighTemp)
    4924:	3b44      	cmpnei      	r3, 4
    4926:	0be6      	bt      	0x48f2	// 48f2 <adc_model_delay0ms_output+0x12>
    4928:	07f4      	br      	0x4910	// 4910 <adc_model_delay0ms_output+0x30>
    else if(RTD[1].status == Pt_Short) Temp_Param.probe1_Err = Pt_Short;
    492a:	3b42      	cmpnei      	r3, 2
    492c:	0804      	bt      	0x4934	// 4934 <adc_model_delay0ms_output+0x54>
    492e:	106b      	lrw      	r3, 0x20000468	// 4958 <adc_model_delay0ms_output+0x78>
    4930:	3102      	movi      	r1, 2
    4932:	07e5      	br      	0x48fc	// 48fc <adc_model_delay0ms_output+0x1c>
    else if(RTD[1].status == Pt_Open) Temp_Param.probe1_Err = Pt_Open;
    4934:	3b41      	cmpnei      	r3, 1
    4936:	0be4      	bt      	0x48fe	// 48fe <adc_model_delay0ms_output+0x1e>
    4938:	1068      	lrw      	r3, 0x20000468	// 4958 <adc_model_delay0ms_output+0x78>
    493a:	3101      	movi      	r1, 1
    493c:	07e0      	br      	0x48fc	// 48fc <adc_model_delay0ms_output+0x1c>
    else if(RTD[2].status == Pt_Short) Temp_Param.probe2_Err = Pt_Short;
    493e:	3b42      	cmpnei      	r3, 2
    4940:	0804      	bt      	0x4948	// 4948 <adc_model_delay0ms_output+0x68>
    4942:	1066      	lrw      	r3, 0x20000468	// 4958 <adc_model_delay0ms_output+0x78>
    4944:	3202      	movi      	r2, 2
    4946:	07e1      	br      	0x4908	// 4908 <adc_model_delay0ms_output+0x28>
    else if(RTD[2].status == Pt_Open) Temp_Param.probe2_Err = Pt_Open;
    4948:	3b41      	cmpnei      	r3, 1
    494a:	0be0      	bt      	0x490a	// 490a <adc_model_delay0ms_output+0x2a>
    494c:	1063      	lrw      	r3, 0x20000468	// 4958 <adc_model_delay0ms_output+0x78>
    494e:	3201      	movi      	r2, 1
    4950:	07dc      	br      	0x4908	// 4908 <adc_model_delay0ms_output+0x28>
    4952:	0000      	bkpt
    4954:	200004dc 	.long	0x200004dc
    4958:	20000468 	.long	0x20000468

Disassembly of section .text.adc_model_init:

0000495c <adc_model_init>:

void adc_model_init(void)
{
    Temp_Param.oven_Err = Pt_Normal;
    495c:	3200      	movi      	r2, 0
    495e:	1065      	lrw      	r3, 0x20000468	// 4970 <adc_model_init+0x14>
    4960:	b341      	st.w      	r2, (r3, 0x4)

    ADC_Convert_R = AD_Convert_R; //adc_model_convert_voltage;
    4962:	1065      	lrw      	r3, 0x200004d4	// 4974 <adc_model_init+0x18>
    4964:	1045      	lrw      	r2, 0x4244	// 4978 <adc_model_init+0x1c>
    4966:	b340      	st.w      	r2, (r3, 0x0)
    TempADC_Delay0ms_Output = adc_model_delay0ms_output;
    4968:	1065      	lrw      	r3, 0x200004f4	// 497c <adc_model_init+0x20>
    496a:	1046      	lrw      	r2, 0x48e0	// 4980 <adc_model_init+0x24>
    496c:	b340      	st.w      	r2, (r3, 0x0)
}
    496e:	783c      	jmp      	r15
    4970:	20000468 	.long	0x20000468
    4974:	200004d4 	.long	0x200004d4
    4978:	00004244 	.long	0x00004244
    497c:	200004f4 	.long	0x200004f4
    4980:	000048e0 	.long	0x000048e0

Disassembly of section .text.FanCtrl_IOConfig:

00004984 <FanCtrl_IOConfig>:
uint8_t Open_Lid_Clock = 0;
uint16_t Open_Lid_temp[12] = {0};
uint8_t H_to_L = 0;

void FanCtrl_IOConfig(void)
{
    4984:	14d1      	push      	r4, r15
    GPIO_Init(GPIOA0,IO_Heater,Output);
    4986:	108a      	lrw      	r4, 0x2000004c	// 49ac <FanCtrl_IOConfig+0x28>
    4988:	3200      	movi      	r2, 0
    498a:	9400      	ld.w      	r0, (r4, 0x0)
    498c:	310f      	movi      	r1, 15
    498e:	e3ffe86d 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOA0,IO_Feed,Output); 
    4992:	9400      	ld.w      	r0, (r4, 0x0)
    4994:	3200      	movi      	r2, 0
    4996:	310e      	movi      	r1, 14
    4998:	e3ffe868 	bsr      	0x1a68	// 1a68 <GPIO_Init>
    GPIO_Init(GPIOB0,IO_Fan,Output);
    499c:	1065      	lrw      	r3, 0x20000048	// 49b0 <FanCtrl_IOConfig+0x2c>
    499e:	3200      	movi      	r2, 0
    49a0:	9300      	ld.w      	r0, (r3, 0x0)
    49a2:	3105      	movi      	r1, 5
    49a4:	e3ffe862 	bsr      	0x1a68	// 1a68 <GPIO_Init>
}
    49a8:	1491      	pop      	r4, r15
    49aa:	0000      	bkpt
    49ac:	2000004c 	.long	0x2000004c
    49b0:	20000048 	.long	0x20000048

Disassembly of section .text.Open_Lid_Check:

000049b4 <Open_Lid_Check>:

bool Open_Lid_Check(void)
{
    49b4:	14d1      	push      	r4, r15
	if (Open_Lid_Clock>5)
    49b6:	106f      	lrw      	r3, 0x2000012c	// 49f0 <Open_Lid_Check+0x3c>
    49b8:	8340      	ld.b      	r2, (r3, 0x0)
    49ba:	3a05      	cmphsi      	r2, 6
    49bc:	0c17      	bf      	0x49ea	// 49ea <Open_Lid_Check+0x36>
    49be:	5b46      	addi      	r2, r3, 2
    49c0:	3100      	movi      	r1, 0
    49c2:	6c0b      	mov      	r0, r2
	{
		for(int i=0;i<11;i++)
		{
			Open_Lid_temp[i] = Open_Lid_temp[i+1];
    49c4:	2100      	addi      	r1, 1
    49c6:	8a81      	ld.h      	r4, (r2, 0x2)
		for(int i=0;i<11;i++)
    49c8:	394b      	cmpnei      	r1, 11
			Open_Lid_temp[i] = Open_Lid_temp[i+1];
    49ca:	aa80      	st.h      	r4, (r2, 0x0)
    49cc:	2201      	addi      	r2, 2
		for(int i=0;i<11;i++)
    49ce:	0bfb      	bt      	0x49c4	// 49c4 <Open_Lid_Check+0x10>
		}
		Open_Lid_temp[11] = grill_temperature;
    49d0:	9347      	ld.w      	r2, (r3, 0x1c)
    49d2:	a84b      	st.h      	r2, (r0, 0x16)
		if((Open_Lid_temp[0]-Open_Lid_temp[11])>(Open_Lid_temp[0]/10))
    49d4:	310a      	movi      	r1, 10
    49d6:	8b01      	ld.h      	r0, (r3, 0x2)
    49d8:	7489      	zexth      	r2, r2
    49da:	5889      	subu      	r4, r0, r2
    49dc:	e3fff31e 	bsr      	0x3018	// 3018 <__udivsi3>
    49e0:	7401      	zexth      	r0, r0
    49e2:	6501      	cmplt      	r0, r4
    49e4:	6403      	mvcv      	r0
    49e6:	7400      	zextb      	r0, r0
		{
			return false;
		}
	}
	return true;
}
    49e8:	1491      	pop      	r4, r15
	return true;
    49ea:	3001      	movi      	r0, 1
    49ec:	07fe      	br      	0x49e8	// 49e8 <Open_Lid_Check+0x34>
    49ee:	0000      	bkpt
    49f0:	2000012c 	.long	0x2000012c

Disassembly of section .text.FanCtrlInit:

000049f4 <FanCtrlInit>:


//温控设备上电初始化
void FanCtrlInit(void)
{
    49f4:	14d1      	push      	r4, r15
    FanCtrl_IOConfig();
    //所有温控设备默认停止输出
    IgniterClose;
    49f6:	1094      	lrw      	r4, 0x2000004c	// 4a44 <FanCtrlInit+0x50>
    FanCtrl_IOConfig();
    49f8:	e3ffffc6 	bsr      	0x4984	// 4984 <FanCtrl_IOConfig>
    IgniterClose;
    49fc:	9400      	ld.w      	r0, (r4, 0x0)
    49fe:	310f      	movi      	r1, 15
    4a00:	e3ffe9a8 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    HeaterFanClose;
    4a04:	9400      	ld.w      	r0, (r4, 0x0)
    4a06:	310e      	movi      	r1, 14
    4a08:	e3ffe9a4 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    ExhaustFanClose;
    4a0c:	106f      	lrw      	r3, 0x20000048	// 4a48 <FanCtrlInit+0x54>
    4a0e:	3105      	movi      	r1, 5
    4a10:	9300      	ld.w      	r0, (r3, 0x0)
    4a12:	e3ffe99f 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>

    Tick_1S_Count = 0;
    4a16:	3200      	movi      	r2, 0
    4a18:	106d      	lrw      	r3, 0x20000078	// 4a4c <FanCtrlInit+0x58>
    4a1a:	ab40      	st.h      	r2, (r3, 0x0)
    HeatingFanStep = 0;
    4a1c:	106d      	lrw      	r3, 0x2000048a	// 4a50 <FanCtrlInit+0x5c>
    4a1e:	a340      	st.b      	r2, (r3, 0x0)
    IgniterStep = 0;
    4a20:	106d      	lrw      	r3, 0x200004c5	// 4a54 <FanCtrlInit+0x60>
    4a22:	a340      	st.b      	r2, (r3, 0x0)
    ExhaustFanStep = 0;
    4a24:	106d      	lrw      	r3, 0x200004c0	// 4a58 <FanCtrlInit+0x64>
    4a26:	a340      	st.b      	r2, (r3, 0x0)

    HeaterFanStep = 0;
    4a28:	3200      	movi      	r2, 0
    4a2a:	106d      	lrw      	r3, 0x200004c2	// 4a5c <FanCtrlInit+0x68>
    4a2c:	ab40      	st.h      	r2, (r3, 0x0)
    HeaterFanClock = 0;
    4a2e:	106d      	lrw      	r3, 0x2000048c	// 4a60 <FanCtrlInit+0x6c>
    4a30:	ab40      	st.h      	r2, (r3, 0x0)
    ExhaustFanClock = 0;
    4a32:	106d      	lrw      	r3, 0x2000012c	// 4a64 <FanCtrlInit+0x70>
    4a34:	ab50      	st.h      	r2, (r3, 0x20)
    IgniterClock = 0;
    4a36:	106d      	lrw      	r3, 0x2000048e	// 4a68 <FanCtrlInit+0x74>
    4a38:	ab40      	st.h      	r2, (r3, 0x0)

    RTD[0].status = Pt_Normal;
    4a3a:	3200      	movi      	r2, 0
    4a3c:	106c      	lrw      	r3, 0x200004dc	// 4a6c <FanCtrlInit+0x78>
    4a3e:	b341      	st.w      	r2, (r3, 0x4)
}
    4a40:	1491      	pop      	r4, r15
    4a42:	0000      	bkpt
    4a44:	2000004c 	.long	0x2000004c
    4a48:	20000048 	.long	0x20000048
    4a4c:	20000078 	.long	0x20000078
    4a50:	2000048a 	.long	0x2000048a
    4a54:	200004c5 	.long	0x200004c5
    4a58:	200004c0 	.long	0x200004c0
    4a5c:	200004c2 	.long	0x200004c2
    4a60:	2000048c 	.long	0x2000048c
    4a64:	2000012c 	.long	0x2000012c
    4a68:	2000048e 	.long	0x2000048e
    4a6c:	200004dc 	.long	0x200004dc

Disassembly of section .text.FanCtrlClock:

00004a70 <FanCtrlClock>:

//所有温控设备的时钟源, Tick 10ms
void FanCtrlClock(void)
{
    4a70:	14c1      	push      	r4
    static uint8_t Count;



    if(Tick_10mS_Count < 0xffff) Tick_10mS_Count++;
    4a72:	1177      	lrw      	r3, 0x2000012c	// 4b4c <FanCtrlClock+0xdc>
    4a74:	8b51      	ld.h      	r2, (r3, 0x22)
    4a76:	1137      	lrw      	r1, 0xffff	// 4b50 <FanCtrlClock+0xe0>
    4a78:	644a      	cmpne      	r2, r1
    4a7a:	0c03      	bf      	0x4a80	// 4a80 <FanCtrlClock+0x10>
    4a7c:	2200      	addi      	r2, 1
    4a7e:	ab51      	st.h      	r2, (r3, 0x22)
    if((Smake_10mS_Count > 0) && (Smake_10mS_Count < 0xffff)) Smake_10mS_Count++; 
    4a80:	8b52      	ld.h      	r2, (r3, 0x24)
    4a82:	5a23      	subi      	r1, r2, 1
    4a84:	7445      	zexth      	r1, r1
    4a86:	1114      	lrw      	r0, 0xfffd	// 4b54 <FanCtrlClock+0xe4>
    4a88:	6440      	cmphs      	r0, r1
    4a8a:	0c03      	bf      	0x4a90	// 4a90 <FanCtrlClock+0x20>
    4a8c:	2200      	addi      	r2, 1
    4a8e:	ab52      	st.h      	r2, (r3, 0x24)
    Count++;
    4a90:	1132      	lrw      	r1, 0x2000014c	// 4b58 <FanCtrlClock+0xe8>
    4a92:	8146      	ld.b      	r2, (r1, 0x6)
	millis_10ms++;
    4a94:	930a      	ld.w      	r0, (r3, 0x28)
    4a96:	2000      	addi      	r0, 1
    Count++;
    4a98:	2200      	addi      	r2, 1
    4a9a:	7488      	zextb      	r2, r2
	millis_10ms++;
    4a9c:	b30a      	st.w      	r0, (r3, 0x28)
    if (Count >= 100)
    4a9e:	3063      	movi      	r0, 99
    4aa0:	6480      	cmphs      	r0, r2
    Count++;
    4aa2:	a146      	st.b      	r2, (r1, 0x6)
    if (Count >= 100)
    4aa4:	084e      	bt      	0x4b40	// 4b40 <FanCtrlClock+0xd0>
    {
        Count = 0;
    4aa6:	3200      	movi      	r2, 0
    4aa8:	a146      	st.b      	r2, (r1, 0x6)
        if(Tick_1S_Count < 0xffff) Tick_1S_Count++; //标记产生1s计时
    4aaa:	110a      	lrw      	r0, 0xffff	// 4b50 <FanCtrlClock+0xe0>
    4aac:	112c      	lrw      	r1, 0x20000078	// 4b5c <FanCtrlClock+0xec>
    4aae:	8940      	ld.h      	r2, (r1, 0x0)
    4ab0:	640a      	cmpne      	r2, r0
    4ab2:	0c03      	bf      	0x4ab8	// 4ab8 <FanCtrlClock+0x48>
    4ab4:	2200      	addi      	r2, 1
    4ab6:	a940      	st.h      	r2, (r1, 0x0)

        if (ExhaustFanClock > 0) 
    4ab8:	8b50      	ld.h      	r2, (r3, 0x20)
    4aba:	3a40      	cmpnei      	r2, 0
    4abc:	0c09      	bf      	0x4ace	// 4ace <FanCtrlClock+0x5e>
		{
			ExhaustFanClock--;
    4abe:	2a00      	subi      	r2, 1
    4ac0:	7489      	zexth      	r2, r2
			if(ExhaustFanClock==0)
    4ac2:	3a40      	cmpnei      	r2, 0
			ExhaustFanClock--;
    4ac4:	ab50      	st.h      	r2, (r3, 0x20)
			if(ExhaustFanClock==0)
    4ac6:	0804      	bt      	0x4ace	// 4ace <FanCtrlClock+0x5e>
			UI_System.UI_Show = UI_OFF;
    4ac8:	3001      	movi      	r0, 1
    4aca:	1146      	lrw      	r2, 0x200003f8	// 4b60 <FanCtrlClock+0xf0>
    4acc:	b216      	st.w      	r0, (r2, 0x58)
		}

        if(PowerDown_Clock > 0) PowerDown_Clock--;
    4ace:	8941      	ld.h      	r2, (r1, 0x2)
    4ad0:	3a40      	cmpnei      	r2, 0
    4ad2:	0c03      	bf      	0x4ad8	// 4ad8 <FanCtrlClock+0x68>
    4ad4:	2a00      	subi      	r2, 1
    4ad6:	a941      	st.h      	r2, (r1, 0x2)
        if ((IgniterClock >= 1) && (IgniterClock < 0xffff)) IgniterClock++;
    4ad8:	1103      	lrw      	r0, 0x2000048e	// 4b64 <FanCtrlClock+0xf4>
    4ada:	8840      	ld.h      	r2, (r0, 0x0)
    4adc:	5a23      	subi      	r1, r2, 1
    4ade:	7445      	zexth      	r1, r1
    4ae0:	109d      	lrw      	r4, 0xfffd	// 4b54 <FanCtrlClock+0xe4>
    4ae2:	6450      	cmphs      	r4, r1
    4ae4:	0c03      	bf      	0x4aea	// 4aea <FanCtrlClock+0x7a>
    4ae6:	2200      	addi      	r2, 1
    4ae8:	a840      	st.h      	r2, (r0, 0x0)
        //烟熏控制相关变量
        if (HeaterFanClock < 0xffff) HeaterFanClock++;
    4aea:	1120      	lrw      	r1, 0x2000048c	// 4b68 <FanCtrlClock+0xf8>
    4aec:	8940      	ld.h      	r2, (r1, 0x0)
    4aee:	1019      	lrw      	r0, 0xffff	// 4b50 <FanCtrlClock+0xe0>
    4af0:	640a      	cmpne      	r2, r0
    4af2:	0c03      	bf      	0x4af8	// 4af8 <FanCtrlClock+0x88>
    4af4:	2200      	addi      	r2, 1
    4af6:	a940      	st.h      	r2, (r1, 0x0)
		if (ExhaustHeatingClock > 0) ExhaustHeatingClock--;
    4af8:	8b56      	ld.h      	r2, (r3, 0x2c)
    4afa:	3a40      	cmpnei      	r2, 0
    4afc:	0c03      	bf      	0x4b02	// 4b02 <FanCtrlClock+0x92>
    4afe:	2a00      	subi      	r2, 1
    4b00:	ab56      	st.h      	r2, (r3, 0x2c)
		if (PID_T_1s > 0) PID_T_1s++;
    4b02:	8b57      	ld.h      	r2, (r3, 0x2e)
    4b04:	3a40      	cmpnei      	r2, 0
    4b06:	0c03      	bf      	0x4b0c	// 4b0c <FanCtrlClock+0x9c>
    4b08:	2200      	addi      	r2, 1
    4b0a:	ab57      	st.h      	r2, (r3, 0x2e)
		
		if(temp_diff<50&&temp_diff>-50&&filter_fun==1)
    4b0c:	1078      	lrw      	r3, 0x20000228	// 4b6c <FanCtrlClock+0xfc>
    4b0e:	3262      	movi      	r2, 98
    4b10:	9360      	ld.w      	r3, (r3, 0x0)
    4b12:	2330      	addi      	r3, 49
    4b14:	64c8      	cmphs      	r2, r3
    4b16:	1077      	lrw      	r3, 0x2000023c	// 4b70 <FanCtrlClock+0x100>
    4b18:	0c15      	bf      	0x4b42	// 4b42 <FanCtrlClock+0xd2>
    4b1a:	1057      	lrw      	r2, 0x2000022c	// 4b74 <FanCtrlClock+0x104>
    4b1c:	8240      	ld.b      	r2, (r2, 0x0)
    4b1e:	3a40      	cmpnei      	r2, 0
    4b20:	0c11      	bf      	0x4b42	// 4b42 <FanCtrlClock+0xd2>
		{
			if(temp_set_updata > 0 && temp_set_updata < 0xffff) temp_set_updata++; //标记产生1s计时
    4b22:	1016      	lrw      	r0, 0x2000022e	// 4b78 <FanCtrlClock+0x108>
    4b24:	8840      	ld.h      	r2, (r0, 0x0)
    4b26:	5a23      	subi      	r1, r2, 1
    4b28:	7445      	zexth      	r1, r1
    4b2a:	108b      	lrw      	r4, 0xfffd	// 4b54 <FanCtrlClock+0xe4>
    4b2c:	6450      	cmphs      	r4, r1
    4b2e:	0c03      	bf      	0x4b34	// 4b34 <FanCtrlClock+0xc4>
    4b30:	2200      	addi      	r2, 1
    4b32:	a840      	st.h      	r2, (r0, 0x0)
			if (temp_filter_time < 300)
    4b34:	9340      	ld.w      	r2, (r3, 0x0)
    4b36:	1032      	lrw      	r1, 0x12b	// 4b7c <FanCtrlClock+0x10c>
    4b38:	6485      	cmplt      	r1, r2
    4b3a:	0803      	bt      	0x4b40	// 4b40 <FanCtrlClock+0xd0>
			temp_filter_time++;
    4b3c:	2200      	addi      	r2, 1
		}
		else 
		{
			if (temp_filter_time > 1)
			temp_filter_time--;
    4b3e:	b340      	st.w      	r2, (r3, 0x0)
		}
    }
}
    4b40:	1481      	pop      	r4
			if (temp_filter_time > 1)
    4b42:	9340      	ld.w      	r2, (r3, 0x0)
    4b44:	3a21      	cmplti      	r2, 2
    4b46:	0bfd      	bt      	0x4b40	// 4b40 <FanCtrlClock+0xd0>
			temp_filter_time--;
    4b48:	2a00      	subi      	r2, 1
    4b4a:	07fa      	br      	0x4b3e	// 4b3e <FanCtrlClock+0xce>
    4b4c:	2000012c 	.long	0x2000012c
    4b50:	0000ffff 	.long	0x0000ffff
    4b54:	0000fffd 	.long	0x0000fffd
    4b58:	2000014c 	.long	0x2000014c
    4b5c:	20000078 	.long	0x20000078
    4b60:	200003f8 	.long	0x200003f8
    4b64:	2000048e 	.long	0x2000048e
    4b68:	2000048c 	.long	0x2000048c
    4b6c:	20000228 	.long	0x20000228
    4b70:	2000023c 	.long	0x2000023c
    4b74:	2000022c 	.long	0x2000022c
    4b78:	2000022e 	.long	0x2000022e
    4b7c:	0000012b 	.long	0x0000012b

Disassembly of section .text.FanCtrlStart:

00004b80 <FanCtrlStart>:
//启动温控设备
void FanCtrlStart(void)
{
    if (RTD[0].status == Pt_Normal)
    4b80:	106d      	lrw      	r3, 0x200004dc	// 4bb4 <FanCtrlStart+0x34>
    4b82:	9361      	ld.w      	r3, (r3, 0x4)
    4b84:	3b40      	cmpnei      	r3, 0
    4b86:	0816      	bt      	0x4bb2	// 4bb2 <FanCtrlStart+0x32>
    { //烤炉温度正常,才能启动点火   
        if (HeatingFanStep == 0) HeatingFanStep = 1; //默认,正常温控
    4b88:	106c      	lrw      	r3, 0x2000048a	// 4bb8 <FanCtrlStart+0x38>
    4b8a:	8340      	ld.b      	r2, (r3, 0x0)
    4b8c:	3a40      	cmpnei      	r2, 0
    4b8e:	0803      	bt      	0x4b94	// 4b94 <FanCtrlStart+0x14>
    4b90:	3201      	movi      	r2, 1
    4b92:	a340      	st.b      	r2, (r3, 0x0)
        if (IgniterStep == 0) IgniterStep = 1;
    4b94:	106a      	lrw      	r3, 0x200004c5	// 4bbc <FanCtrlStart+0x3c>
    4b96:	8340      	ld.b      	r2, (r3, 0x0)
    4b98:	3a40      	cmpnei      	r2, 0
    4b9a:	0803      	bt      	0x4ba0	// 4ba0 <FanCtrlStart+0x20>
    4b9c:	3201      	movi      	r2, 1
    4b9e:	a340      	st.b      	r2, (r3, 0x0)
        if (ExhaustFanStep == 0)
    4ba0:	1068      	lrw      	r3, 0x200004c0	// 4bc0 <FanCtrlStart+0x40>
    4ba2:	8340      	ld.b      	r2, (r3, 0x0)
    4ba4:	3a40      	cmpnei      	r2, 0
    4ba6:	0806      	bt      	0x4bb2	// 4bb2 <FanCtrlStart+0x32>
        {
            ExhaustFanStep = 1;
    4ba8:	3201      	movi      	r2, 1
    4baa:	a340      	st.b      	r2, (r3, 0x0)
            ExhaustFanClock = 0;
    4bac:	3200      	movi      	r2, 0
    4bae:	1066      	lrw      	r3, 0x2000012c	// 4bc4 <FanCtrlStart+0x44>
    4bb0:	ab50      	st.h      	r2, (r3, 0x20)
        }
    }
}
    4bb2:	783c      	jmp      	r15
    4bb4:	200004dc 	.long	0x200004dc
    4bb8:	2000048a 	.long	0x2000048a
    4bbc:	200004c5 	.long	0x200004c5
    4bc0:	200004c0 	.long	0x200004c0
    4bc4:	2000012c 	.long	0x2000012c

Disassembly of section .text.FanCtrlStop:

00004bc8 <FanCtrlStop>:
//停止温控设备
void FanCtrlStop(void)
{
    4bc8:	14d2      	push      	r4-r5, r15
    if(RTD[0].status != Pt_Normal)
    4bca:	107b      	lrw      	r3, 0x200004dc	// 4c34 <FanCtrlStop+0x6c>
    4bcc:	109b      	lrw      	r4, 0x2000012c	// 4c38 <FanCtrlStop+0x70>
    4bce:	10bc      	lrw      	r5, 0x200004c0	// 4c3c <FanCtrlStop+0x74>
    4bd0:	9361      	ld.w      	r3, (r3, 0x4)
    4bd2:	3b40      	cmpnei      	r3, 0
    4bd4:	0c05      	bf      	0x4bde	// 4bde <FanCtrlStop+0x16>
    {
        ExhaustFanClock = 0;
    4bd6:	3300      	movi      	r3, 0
    4bd8:	ac70      	st.h      	r3, (r4, 0x20)
        ExhaustFanStep = 0;
    4bda:	a560      	st.b      	r3, (r5, 0x0)
    { //排气扇打开后,才能停止排气扇
		HT162X_ResetRAM();
        ExhaustFanStep = 0;
        if(ExhaustFanClock == 0) ExhaustFanClock = FanClose_Delay_Time; //10min = 60s * 10 = 600s,多10s用于显示OFF
    }
}
    4bdc:	1492      	pop      	r4-r5, r15
	filter_fun = 0;
    4bde:	1059      	lrw      	r2, 0x2000022c	// 4c40 <FanCtrlStop+0x78>
    4be0:	3100      	movi      	r1, 0
    4be2:	a220      	st.b      	r1, (r2, 0x0)
	temp_set_updata = 0;
    4be4:	3100      	movi      	r1, 0
    4be6:	1058      	lrw      	r2, 0x2000022e	// 4c44 <FanCtrlStop+0x7c>
    4be8:	aa20      	st.h      	r1, (r2, 0x0)
	if(grill_temperature>400)
    4bea:	9427      	ld.w      	r1, (r4, 0x1c)
	temp_filter_time = 0;
    4bec:	1057      	lrw      	r2, 0x2000023c	// 4c48 <FanCtrlStop+0x80>
    4bee:	b260      	st.w      	r3, (r2, 0x0)
    HeatingFanStep = 0;
    4bf0:	3200      	movi      	r2, 0
    4bf2:	1077      	lrw      	r3, 0x2000048a	// 4c4c <FanCtrlStop+0x84>
    4bf4:	a340      	st.b      	r2, (r3, 0x0)
	if(grill_temperature>400)
    4bf6:	33c8      	movi      	r3, 200
    4bf8:	4361      	lsli      	r3, r3, 1
    4bfa:	3220      	movi      	r2, 32
    4bfc:	644d      	cmplt      	r3, r1
    4bfe:	6090      	addu      	r2, r4
    4c00:	0c14      	bf      	0x4c28	// 4c28 <FanCtrlStop+0x60>
		H_to_L = 1;
    4c02:	3301      	movi      	r3, 1
		H_to_L = 2;
    4c04:	a270      	st.b      	r3, (r2, 0x10)
    IgniterStep = 0;
    4c06:	3200      	movi      	r2, 0
    4c08:	1072      	lrw      	r3, 0x200004c5	// 4c50 <FanCtrlStop+0x88>
    4c0a:	a340      	st.b      	r2, (r3, 0x0)
    if (ExhaustFanStep > 0)
    4c0c:	8560      	ld.b      	r3, (r5, 0x0)
    4c0e:	3b40      	cmpnei      	r3, 0
    4c10:	0fe6      	bf      	0x4bdc	// 4bdc <FanCtrlStop+0x14>
		HT162X_ResetRAM();
    4c12:	e3fff287 	bsr      	0x3120	// 3120 <HT162X_ResetRAM>
        ExhaustFanStep = 0;
    4c16:	3300      	movi      	r3, 0
    4c18:	a560      	st.b      	r3, (r5, 0x0)
        if(ExhaustFanClock == 0) ExhaustFanClock = FanClose_Delay_Time; //10min = 60s * 10 = 600s,多10s用于显示OFF
    4c1a:	8c70      	ld.h      	r3, (r4, 0x20)
    4c1c:	3b40      	cmpnei      	r3, 0
    4c1e:	0bdf      	bt      	0x4bdc	// 4bdc <FanCtrlStop+0x14>
    4c20:	3396      	movi      	r3, 150
    4c22:	4362      	lsli      	r3, r3, 2
    4c24:	ac70      	st.h      	r3, (r4, 0x20)
    4c26:	07db      	br      	0x4bdc	// 4bdc <FanCtrlStop+0x14>
	else if(grill_temperature>300)
    4c28:	3396      	movi      	r3, 150
    4c2a:	4361      	lsli      	r3, r3, 1
		H_to_L = 2;
    4c2c:	644d      	cmplt      	r3, r1
    4c2e:	64c3      	mvcv      	r3
    4c30:	2301      	addi      	r3, 2
    4c32:	07e9      	br      	0x4c04	// 4c04 <FanCtrlStop+0x3c>
    4c34:	200004dc 	.long	0x200004dc
    4c38:	2000012c 	.long	0x2000012c
    4c3c:	200004c0 	.long	0x200004c0
    4c40:	2000022c 	.long	0x2000022c
    4c44:	2000022e 	.long	0x2000022e
    4c48:	2000023c 	.long	0x2000023c
    4c4c:	2000048a 	.long	0x2000048a
    4c50:	200004c5 	.long	0x200004c5

Disassembly of section .text.HeatingFanCtrl:

00004c54 <HeatingFanCtrl>:
void Heating_Ctrl_Exhaust_Close(void)
{
    ExhaustFanStep = 0;
}
void HeatingFanCtrl(void)
{
    4c54:	14d3      	push      	r4-r6, r15
    static uint16_t start_sequence_on_time = 0;
	int32_t pid_temperature = 0;
	uint16_t pid_temp_set = 0;
	static uint16_t feed1 = 0;
	static uint16_t feed2 = 0;
    switch (HeatingFanStep)
    4c56:	1368      	lrw      	r3, 0x2000048a	// 4df4 <HeatingFanCtrl+0x1a0>
    4c58:	8300      	ld.b      	r0, (r3, 0x0)
    4c5a:	3804      	cmphsi      	r0, 5
    4c5c:	6d4f      	mov      	r5, r3
    4c5e:	08c9      	bt      	0x4df0	// 4df0 <HeatingFanCtrl+0x19c>
    4c60:	e3ffdaa8 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    4c64:	5e483d03 	.long	0x5e483d03
    4c68:	008e      	.short	0x008e
    {
    case 0: // Close HeatingFan  
	if(H_to_L==1)
    4c6a:	1384      	lrw      	r4, 0x2000012c	// 4df8 <HeatingFanCtrl+0x1a4>
    4c6c:	3320      	movi      	r3, 32
    4c6e:	60d0      	addu      	r3, r4
    4c70:	8370      	ld.b      	r3, (r3, 0x10)
    4c72:	3b41      	cmpnei      	r3, 1
    4c74:	0810      	bt      	0x4c94	// 4c94 <HeatingFanCtrl+0x40>
	{
		feed1 = 20;
    4c76:	3314      	movi      	r3, 20
    4c78:	ac79      	st.h      	r3, (r4, 0x32)
		feed2 = 10;
    4c7a:	330a      	movi      	r3, 10
		feed2 = 5;
	}
	else
	{
		feed1 = 0;
		feed2 = 0;
    4c7c:	ac7a      	st.h      	r3, (r4, 0x34)
	}
	
	if(ExhaustFanClock>600)
    4c7e:	3396      	movi      	r3, 150
    4c80:	8c50      	ld.h      	r2, (r4, 0x20)
    4c82:	4362      	lsli      	r3, r3, 2
    4c84:	648c      	cmphs      	r3, r2
    4c86:	123e      	lrw      	r1, 0x2000004c	// 4dfc <HeatingFanCtrl+0x1a8>
    4c88:	0813      	bt      	0x4cae	// 4cae <HeatingFanCtrl+0x5a>
	{
		HeaterFanClose;
    4c8a:	9100      	ld.w      	r0, (r1, 0x0)
	break;
    case 1:
		start_sequence_on_time = 40; //固定进料60s, 颗粒已经能够覆盖到点火针
        Tick_1S_Count = 0;
        HeatingFanStep = 2;
        HeaterFanClose;
    4c8c:	310e      	movi      	r1, 14
    4c8e:	e3ffe861 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>

        break;
    4c92:	0425      	br      	0x4cdc	// 4cdc <HeatingFanCtrl+0x88>
	else if(H_to_L==2)
    4c94:	3b42      	cmpnei      	r3, 2
    4c96:	0805      	bt      	0x4ca0	// 4ca0 <HeatingFanCtrl+0x4c>
		feed1 = 15;
    4c98:	330f      	movi      	r3, 15
    4c9a:	ac79      	st.h      	r3, (r4, 0x32)
		feed2 = 5;
    4c9c:	3305      	movi      	r3, 5
    4c9e:	07ef      	br      	0x4c7c	// 4c7c <HeatingFanCtrl+0x28>
	else if(H_to_L==3)
    4ca0:	3b43      	cmpnei      	r3, 3
    4ca2:	0804      	bt      	0x4caa	// 4caa <HeatingFanCtrl+0x56>
		feed1 = 5;
    4ca4:	3305      	movi      	r3, 5
		feed1 = 0;
    4ca6:	ac79      	st.h      	r3, (r4, 0x32)
    4ca8:	07ea      	br      	0x4c7c	// 4c7c <HeatingFanCtrl+0x28>
    4caa:	3300      	movi      	r3, 0
    4cac:	07fd      	br      	0x4ca6	// 4ca6 <HeatingFanCtrl+0x52>
	else if(ExhaustFanClock>600-feed1)
    4cae:	8c19      	ld.h      	r0, (r4, 0x32)
    4cb0:	60c2      	subu      	r3, r0
    4cb2:	648d      	cmplt      	r3, r2
    4cb4:	0c06      	bf      	0x4cc0	// 4cc0 <HeatingFanCtrl+0x6c>
		HeaterFanOpen;
    4cb6:	9100      	ld.w      	r0, (r1, 0x0)
        {
            HeaterFanClose;
        }
        else if ((feed_stop_time_int <= millis_10ms) && (millis_10ms < 60*100))                                                                                                                                                                                    
        {
            HeaterFanOpen;
    4cb8:	310e      	movi      	r1, 14
    4cba:	e3ffe84f 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
    4cbe:	040f      	br      	0x4cdc	// 4cdc <HeatingFanCtrl+0x88>
	else if(ExhaustFanClock>300)
    4cc0:	3396      	movi      	r3, 150
    4cc2:	4361      	lsli      	r3, r3, 1
    4cc4:	648c      	cmphs      	r3, r2
    4cc6:	0fe2      	bf      	0x4c8a	// 4c8a <HeatingFanCtrl+0x36>
	else if(ExhaustFanClock>300-feed2)
    4cc8:	8c1a      	ld.h      	r0, (r4, 0x34)
    4cca:	60c2      	subu      	r3, r0
    4ccc:	648d      	cmplt      	r3, r2
    4cce:	0bf4      	bt      	0x4cb6	// 4cb6 <HeatingFanCtrl+0x62>
		HeaterFanClose;
    4cd0:	9100      	ld.w      	r0, (r1, 0x0)
    4cd2:	310e      	movi      	r1, 14
    4cd4:	e3ffe83e 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
        start_sequence_on_time = 0;
    4cd8:	3300      	movi      	r3, 0
    4cda:	ac7b      	st.h      	r3, (r4, 0x36)
        break;
    default:
        HeatingFanStep = 0;
        break;
    }
}
    4cdc:	1493      	pop      	r4-r6, r15
		start_sequence_on_time = 40; //固定进料60s, 颗粒已经能够覆盖到点火针
    4cde:	1267      	lrw      	r3, 0x2000012c	// 4df8 <HeatingFanCtrl+0x1a4>
    4ce0:	3228      	movi      	r2, 40
    4ce2:	ab5b      	st.h      	r2, (r3, 0x36)
        Tick_1S_Count = 0;
    4ce4:	3200      	movi      	r2, 0
    4ce6:	1267      	lrw      	r3, 0x20000078	// 4e00 <HeatingFanCtrl+0x1ac>
    4ce8:	ab40      	st.h      	r2, (r3, 0x0)
        HeatingFanStep = 2;
    4cea:	3302      	movi      	r3, 2
    4cec:	a560      	st.b      	r3, (r5, 0x0)
        HeaterFanClose;
    4cee:	1264      	lrw      	r3, 0x2000004c	// 4dfc <HeatingFanCtrl+0x1a8>
    4cf0:	9300      	ld.w      	r0, (r3, 0x0)
    4cf2:	07cd      	br      	0x4c8c	// 4c8c <HeatingFanCtrl+0x38>
        if (Tick_1S_Count == 0)
    4cf4:	1263      	lrw      	r3, 0x20000078	// 4e00 <HeatingFanCtrl+0x1ac>
    4cf6:	8b40      	ld.h      	r2, (r3, 0x0)
    4cf8:	3a40      	cmpnei      	r2, 0
    4cfa:	0805      	bt      	0x4d04	// 4d04 <HeatingFanCtrl+0xb0>
            Tick_1S_Count = 1;
    4cfc:	3201      	movi      	r2, 1
    4cfe:	ab40      	st.h      	r2, (r3, 0x0)
            HeaterFanOpen;
    4d00:	117f      	lrw      	r3, 0x2000004c	// 4dfc <HeatingFanCtrl+0x1a8>
    4d02:	0426      	br      	0x4d4e	// 4d4e <HeatingFanCtrl+0xfa>
        else if (Tick_1S_Count > start_sequence_on_time)
    4d04:	113d      	lrw      	r1, 0x2000012c	// 4df8 <HeatingFanCtrl+0x1a4>
    4d06:	893b      	ld.h      	r1, (r1, 0x36)
    4d08:	6484      	cmphs      	r1, r2
    4d0a:	0be9      	bt      	0x4cdc	// 4cdc <HeatingFanCtrl+0x88>
            Tick_1S_Count = 0;
    4d0c:	3200      	movi      	r2, 0
    4d0e:	ab40      	st.h      	r2, (r3, 0x0)
            HeaterFanClose;
    4d10:	310e      	movi      	r1, 14
    4d12:	117b      	lrw      	r3, 0x2000004c	// 4dfc <HeatingFanCtrl+0x1a8>
    4d14:	9300      	ld.w      	r0, (r3, 0x0)
    4d16:	e3ffe81d 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            HeatingFanStep = 3;  
    4d1a:	3303      	movi      	r3, 3
    4d1c:	a560      	st.b      	r3, (r5, 0x0)
    4d1e:	07df      	br      	0x4cdc	// 4cdc <HeatingFanCtrl+0x88>
        if (grill_temperature < 135)
    4d20:	11d6      	lrw      	r6, 0x2000012c	// 4df8 <HeatingFanCtrl+0x1a4>
    4d22:	3386      	movi      	r3, 134
    4d24:	9647      	ld.w      	r2, (r6, 0x1c)
    4d26:	648d      	cmplt      	r3, r2
    4d28:	1196      	lrw      	r4, 0x20000078	// 4e00 <HeatingFanCtrl+0x1ac>
    4d2a:	0817      	bt      	0x4d58	// 4d58 <HeatingFanCtrl+0x104>
            if (Tick_1S_Count == 0) Tick_1S_Count = 1;
    4d2c:	8c60      	ld.h      	r3, (r4, 0x0)
    4d2e:	3b40      	cmpnei      	r3, 0
    4d30:	0804      	bt      	0x4d38	// 4d38 <HeatingFanCtrl+0xe4>
    4d32:	3301      	movi      	r3, 1
    4d34:	ac60      	st.h      	r3, (r4, 0x0)
    4d36:	07d3      	br      	0x4cdc	// 4cdc <HeatingFanCtrl+0x88>
            else if (Tick_1S_Count <= 30)
    4d38:	3b1e      	cmphsi      	r3, 31
    4d3a:	0806      	bt      	0x4d46	// 4d46 <HeatingFanCtrl+0xf2>
				if(Prime_Enable == 0)
    4d3c:	1172      	lrw      	r3, 0x2000011a	// 4e04 <HeatingFanCtrl+0x1b0>
    4d3e:	8360      	ld.b      	r3, (r3, 0x0)
    4d40:	3b40      	cmpnei      	r3, 0
    4d42:	0bcd      	bt      	0x4cdc	// 4cdc <HeatingFanCtrl+0x88>
    4d44:	07d5      	br      	0x4cee	// 4cee <HeatingFanCtrl+0x9a>
            else if (Tick_1S_Count <= (30 + 5))
    4d46:	3223      	movi      	r2, 35
    4d48:	64c8      	cmphs      	r2, r3
    4d4a:	116d      	lrw      	r3, 0x2000004c	// 4dfc <HeatingFanCtrl+0x1a8>
    4d4c:	0c03      	bf      	0x4d52	// 4d52 <HeatingFanCtrl+0xfe>
            HeaterFanOpen;
    4d4e:	9300      	ld.w      	r0, (r3, 0x0)
    4d50:	07b4      	br      	0x4cb8	// 4cb8 <HeatingFanCtrl+0x64>
                Tick_1S_Count = 0;
    4d52:	3200      	movi      	r2, 0
    4d54:	ac40      	st.h      	r2, (r4, 0x0)
    4d56:	07cd      	br      	0x4cf0	// 4cf0 <HeatingFanCtrl+0x9c>
            HeaterFanClose;
    4d58:	1169      	lrw      	r3, 0x2000004c	// 4dfc <HeatingFanCtrl+0x1a8>
    4d5a:	310e      	movi      	r1, 14
    4d5c:	9300      	ld.w      	r0, (r3, 0x0)
    4d5e:	e3ffe7f9 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            HeatingFanStep = 4;
    4d62:	3304      	movi      	r3, 4
    4d64:	a560      	st.b      	r3, (r5, 0x0)
            Tick_1S_Count = 0;
    4d66:	3300      	movi      	r3, 0
    4d68:	ac60      	st.h      	r3, (r4, 0x0)
            PID_T_1s = 1;
    4d6a:	3301      	movi      	r3, 1
			pid_PI.u8En = 1;
    4d6c:	3201      	movi      	r2, 1
            PID_T_1s = 1;
    4d6e:	ae77      	st.h      	r3, (r6, 0x2e)
			pid_PI.u8En = 1;
    4d70:	1166      	lrw      	r3, 0x20000490	// 4e08 <HeatingFanCtrl+0x1b4>
    4d72:	a340      	st.b      	r2, (r3, 0x0)
			temp_set_updata = 1;
    4d74:	3201      	movi      	r2, 1
    4d76:	1166      	lrw      	r3, 0x2000022e	// 4e0c <HeatingFanCtrl+0x1b8>
    4d78:	ab40      	st.h      	r2, (r3, 0x0)
			filter_fun = 1;
    4d7a:	1166      	lrw      	r3, 0x2000022c	// 4e10 <HeatingFanCtrl+0x1bc>
        HeatingFanStep = 0;
    4d7c:	a340      	st.b      	r2, (r3, 0x0)
}
    4d7e:	07af      	br      	0x4cdc	// 4cdc <HeatingFanCtrl+0x88>
        if (PID_T_1s >= 15)
    4d80:	109e      	lrw      	r4, 0x2000012c	// 4df8 <HeatingFanCtrl+0x1a4>
    4d82:	8c77      	ld.h      	r3, (r4, 0x2e)
    4d84:	3b0e      	cmphsi      	r3, 15
    4d86:	11c1      	lrw      	r6, 0x20000490	// 4e08 <HeatingFanCtrl+0x1b4>
    4d88:	0c14      	bf      	0x4db0	// 4db0 <HeatingFanCtrl+0x15c>
            PID_T_1s = 1;
    4d8a:	3301      	movi      	r3, 1
            PI_Ctrl(&pid_PI, &pid_para_t,grill_temperature,temp_set);
    4d8c:	103d      	lrw      	r1, 0x20000078	// 4e00 <HeatingFanCtrl+0x1ac>
    4d8e:	6c1b      	mov      	r0, r6
    4d90:	9447      	ld.w      	r2, (r4, 0x1c)
            PID_T_1s = 1;
    4d92:	ac77      	st.h      	r3, (r4, 0x2e)
            PI_Ctrl(&pid_PI, &pid_para_t,grill_temperature,temp_set);
    4d94:	8962      	ld.h      	r3, (r1, 0x4)
    4d96:	2107      	addi      	r1, 8
    4d98:	e0000112 	bsr      	0x4fbc	// 4fbc <PI_Ctrl>
			pid_data = (float)(pid_PI.i32Q27_Output);
    4d9c:	9603      	ld.w      	r0, (r6, 0xc)
    4d9e:	9624      	ld.w      	r1, (r6, 0x10)
    4da0:	e3ffe170 	bsr      	0x1080	// 1080 <__truncdfsf2>
    4da4:	b40e      	st.w      	r0, (r4, 0x38)
            feed_stop_time = 60 - (int)pid_data;
    4da6:	e3ffdca3 	bsr      	0x6ec	// 6ec <__fixsfsi>
    4daa:	333c      	movi      	r3, 60
    4dac:	60c2      	subu      	r3, r0
    4dae:	b46f      	st.w      	r3, (r4, 0x3c)
		if (Open_Lid_Check())
    4db0:	e3fffe02 	bsr      	0x49b4	// 49b4 <Open_Lid_Check>
			pid_PI.u8En = 1;
    4db4:	3840      	cmpnei      	r0, 0
    4db6:	3300      	movi      	r3, 0
    4db8:	60cd      	addc      	r3, r3
    4dba:	a660      	st.b      	r3, (r6, 0x0)
        if (grill_temperature <= 135)
    4dbc:	9447      	ld.w      	r2, (r4, 0x1c)
    4dbe:	3387      	movi      	r3, 135
    4dc0:	648d      	cmplt      	r3, r2
    4dc2:	0810      	bt      	0x4de2	// 4de2 <HeatingFanCtrl+0x18e>
            HeatingFanStep = 3;
    4dc4:	3303      	movi      	r3, 3
    4dc6:	a560      	st.b      	r3, (r5, 0x0)
		feed_stop_time_int = feed_stop_time*100;
    4dc8:	944f      	ld.w      	r2, (r4, 0x3c)
    4dca:	3364      	movi      	r3, 100
    4dcc:	7cc8      	mult      	r3, r2
        if (millis_10ms < feed_stop_time_int)
    4dce:	944a      	ld.w      	r2, (r4, 0x28)
    4dd0:	64c8      	cmphs      	r2, r3
		feed_stop_time_int = feed_stop_time*100;
    4dd2:	b471      	st.w      	r3, (r4, 0x44)
        if (millis_10ms < feed_stop_time_int)
    4dd4:	0f8d      	bf      	0x4cee	// 4cee <HeatingFanCtrl+0x9a>
        else if ((feed_stop_time_int <= millis_10ms) && (millis_10ms < 60*100))                                                                                                                                                                                    
    4dd6:	1070      	lrw      	r3, 0x176f	// 4e14 <HeatingFanCtrl+0x1c0>
    4dd8:	648c      	cmphs      	r3, r2
    4dda:	0b93      	bt      	0x4d00	// 4d00 <HeatingFanCtrl+0xac>
            millis_10ms = 0;
    4ddc:	3300      	movi      	r3, 0
    4dde:	b46a      	st.w      	r3, (r4, 0x28)
    4de0:	077e      	br      	0x4cdc	// 4cdc <HeatingFanCtrl+0x88>
			feed_on_time =(int)pid_data*100;
    4de2:	940e      	ld.w      	r0, (r4, 0x38)
    4de4:	e3ffdc84 	bsr      	0x6ec	// 6ec <__fixsfsi>
    4de8:	3364      	movi      	r3, 100
    4dea:	7c0c      	mult      	r0, r3
    4dec:	b410      	st.w      	r0, (r4, 0x40)
    4dee:	07ed      	br      	0x4dc8	// 4dc8 <HeatingFanCtrl+0x174>
        HeatingFanStep = 0;
    4df0:	3200      	movi      	r2, 0
    4df2:	07c5      	br      	0x4d7c	// 4d7c <HeatingFanCtrl+0x128>
    4df4:	2000048a 	.long	0x2000048a
    4df8:	2000012c 	.long	0x2000012c
    4dfc:	2000004c 	.long	0x2000004c
    4e00:	20000078 	.long	0x20000078
    4e04:	2000011a 	.long	0x2000011a
    4e08:	20000490 	.long	0x20000490
    4e0c:	2000022e 	.long	0x2000022e
    4e10:	2000022c 	.long	0x2000022c
    4e14:	0000176f 	.long	0x0000176f

Disassembly of section .text.IgniterCtrl:

00004e18 <IgniterCtrl>:
//在[150F,160F]之间,点火一直打开
//温度高于160F,停止点火(这就有问题了,温度高的情况下,停止点火,温度肯定会突然下降,难怪温度在高温很难控制)
//  补充: 在进料的时候会控制点火
//通过 SYS_STANDBY 置1, 控制停止点火
void IgniterCtrl(void)
{
    4e18:	14d2      	push      	r4-r5, r15
    static uint8_t IgniterClock_Step = 0;

    if (RTD[0].status != Pt_Normal)
    4e1a:	117b      	lrw      	r3, 0x200004dc	// 4f04 <IgniterCtrl+0xec>
    4e1c:	119b      	lrw      	r4, 0x200004c5	// 4f08 <IgniterCtrl+0xf0>
    4e1e:	9341      	ld.w      	r2, (r3, 0x4)
    4e20:	3a40      	cmpnei      	r2, 0
    4e22:	0c03      	bf      	0x4e28	// 4e28 <IgniterCtrl+0x10>
    {
        IgniterStep = 0;
    4e24:	3200      	movi      	r2, 0
    4e26:	a440      	st.b      	r2, (r4, 0x0)
    }
    switch (IgniterStep)
    4e28:	8400      	ld.b      	r0, (r4, 0x0)
    4e2a:	3803      	cmphsi      	r0, 4
    4e2c:	086a      	bt      	0x4f00	// 4f00 <IgniterCtrl+0xe8>
    4e2e:	e3ffd9c1 	bsr      	0x1b0	// 1b0 <___gnu_csky_case_uqi>
    4e32:	0802      	.short	0x0802
    4e34:	2a13      	.short	0x2a13
    {
        case 0:
            IgniterClose;
    4e36:	1176      	lrw      	r3, 0x2000004c	// 4f0c <IgniterCtrl+0xf4>
    4e38:	310f      	movi      	r1, 15
    4e3a:	9300      	ld.w      	r0, (r3, 0x0)
    4e3c:	e3ffe78a 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
            break;
        default:
            IgniterStep = 0;
            break;
    }
}
    4e40:	1492      	pop      	r4-r5, r15
            IgniterOpen;
    4e42:	1173      	lrw      	r3, 0x2000004c	// 4f0c <IgniterCtrl+0xf4>
    4e44:	310f      	movi      	r1, 15
    4e46:	9300      	ld.w      	r0, (r3, 0x0)
    4e48:	e3ffe788 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
            IgniterClock = 0;
    4e4c:	1171      	lrw      	r3, 0x2000048e	// 4f10 <IgniterCtrl+0xf8>
    4e4e:	3200      	movi      	r2, 0
    4e50:	ab40      	st.h      	r2, (r3, 0x0)
            IgniterStep = 2;
    4e52:	3302      	movi      	r3, 2
            IgniterStep = 0;
    4e54:	a460      	st.b      	r3, (r4, 0x0)
}
    4e56:	07f5      	br      	0x4e40	// 4e40 <IgniterCtrl+0x28>
            if (IgniterClock == 0) IgniterClock = 1;
    4e58:	11ae      	lrw      	r5, 0x2000048e	// 4f10 <IgniterCtrl+0xf8>
    4e5a:	8d60      	ld.h      	r3, (r5, 0x0)
    4e5c:	3b40      	cmpnei      	r3, 0
    4e5e:	0804      	bt      	0x4e66	// 4e66 <IgniterCtrl+0x4e>
                        IgniterClock = 1;
    4e60:	3301      	movi      	r3, 1
    4e62:	ad60      	st.h      	r3, (r5, 0x0)
    4e64:	07ee      	br      	0x4e40	// 4e40 <IgniterCtrl+0x28>
            else if (IgniterClock > 240)
    4e66:	32f0      	movi      	r2, 240
    4e68:	64c8      	cmphs      	r2, r3
    4e6a:	0beb      	bt      	0x4e40	// 4e40 <IgniterCtrl+0x28>
                IgniterClose;
    4e6c:	1168      	lrw      	r3, 0x2000004c	// 4f0c <IgniterCtrl+0xf4>
    4e6e:	310f      	movi      	r1, 15
    4e70:	9300      	ld.w      	r0, (r3, 0x0)
    4e72:	e3ffe76f 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
                IgniterStep = 3; //Ignite time complete
    4e76:	3303      	movi      	r3, 3
    4e78:	a460      	st.b      	r3, (r4, 0x0)
                IgniterClock = 0;
    4e7a:	3300      	movi      	r3, 0
    4e7c:	ad60      	st.h      	r3, (r5, 0x0)
                IgniterClock_Step = 0;
    4e7e:	3200      	movi      	r2, 0
    4e80:	1165      	lrw      	r3, 0x2000016c	// 4f14 <IgniterCtrl+0xfc>
    4e82:	a348      	st.b      	r2, (r3, 0x8)
    4e84:	07de      	br      	0x4e40	// 4e40 <IgniterCtrl+0x28>
            if (grill_temperature < 150)
    4e86:	1185      	lrw      	r4, 0x2000012c	// 4f18 <IgniterCtrl+0x100>
    4e88:	3295      	movi      	r2, 149
    4e8a:	9427      	ld.w      	r1, (r4, 0x1c)
    4e8c:	6449      	cmplt      	r2, r1
    4e8e:	0829      	bt      	0x4ee0	// 4ee0 <IgniterCtrl+0xc8>
                if(IgniterClock_Step == 0)
    4e90:	243f      	addi      	r4, 64
    4e92:	8468      	ld.b      	r3, (r4, 0x8)
    4e94:	3b40      	cmpnei      	r3, 0
    4e96:	0813      	bt      	0x4ebc	// 4ebc <IgniterCtrl+0xa4>
                    if (IgniterClock == 0)
    4e98:	10be      	lrw      	r5, 0x2000048e	// 4f10 <IgniterCtrl+0xf8>
    4e9a:	8d60      	ld.h      	r3, (r5, 0x0)
    4e9c:	3b40      	cmpnei      	r3, 0
    4e9e:	0807      	bt      	0x4eac	// 4eac <IgniterCtrl+0x94>
                        IgniterClose;
    4ea0:	107b      	lrw      	r3, 0x2000004c	// 4f0c <IgniterCtrl+0xf4>
    4ea2:	310f      	movi      	r1, 15
    4ea4:	9300      	ld.w      	r0, (r3, 0x0)
    4ea6:	e3ffe755 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
    4eaa:	07db      	br      	0x4e60	// 4e60 <IgniterCtrl+0x48>
                    else if (IgniterClock >= 120)
    4eac:	3277      	movi      	r2, 119
    4eae:	64c8      	cmphs      	r2, r3
    4eb0:	0bc8      	bt      	0x4e40	// 4e40 <IgniterCtrl+0x28>
                        IgniterClock = 0;
    4eb2:	3300      	movi      	r3, 0
    4eb4:	ad60      	st.h      	r3, (r5, 0x0)
                        IgniterClock_Step++;
    4eb6:	3301      	movi      	r3, 1
                        IgniterClock_Step = 0;
    4eb8:	a468      	st.b      	r3, (r4, 0x8)
    4eba:	07c3      	br      	0x4e40	// 4e40 <IgniterCtrl+0x28>
                else if(IgniterClock_Step == 1)
    4ebc:	3b41      	cmpnei      	r3, 1
    4ebe:	0bc1      	bt      	0x4e40	// 4e40 <IgniterCtrl+0x28>
                    if (IgniterClock == 0)
    4ec0:	10b4      	lrw      	r5, 0x2000048e	// 4f10 <IgniterCtrl+0xf8>
    4ec2:	8d60      	ld.h      	r3, (r5, 0x0)
    4ec4:	3b40      	cmpnei      	r3, 0
    4ec6:	0807      	bt      	0x4ed4	// 4ed4 <IgniterCtrl+0xbc>
                        IgniterOpen;
    4ec8:	1071      	lrw      	r3, 0x2000004c	// 4f0c <IgniterCtrl+0xf4>
    4eca:	310f      	movi      	r1, 15
    4ecc:	9300      	ld.w      	r0, (r3, 0x0)
    4ece:	e3ffe745 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
    4ed2:	07c7      	br      	0x4e60	// 4e60 <IgniterCtrl+0x48>
                    else if (IgniterClock >= 240)
    4ed4:	32ef      	movi      	r2, 239
    4ed6:	64c8      	cmphs      	r2, r3
    4ed8:	0bb4      	bt      	0x4e40	// 4e40 <IgniterCtrl+0x28>
                        IgniterClock = 0;
    4eda:	3300      	movi      	r3, 0
    4edc:	ad60      	st.h      	r3, (r5, 0x0)
    4ede:	07ed      	br      	0x4eb8	// 4eb8 <IgniterCtrl+0xa0>
            else if (RTD[0].value > 160)
    4ee0:	9340      	ld.w      	r2, (r3, 0x0)
    4ee2:	33a0      	movi      	r3, 160
    4ee4:	648d      	cmplt      	r3, r2
    4ee6:	0fad      	bf      	0x4e40	// 4e40 <IgniterCtrl+0x28>
                IgniterClose;
    4ee8:	1069      	lrw      	r3, 0x2000004c	// 4f0c <IgniterCtrl+0xf4>
    4eea:	310f      	movi      	r1, 15
    4eec:	9300      	ld.w      	r0, (r3, 0x0)
    4eee:	e3ffe731 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
                IgniterClock_Step = 0;
    4ef2:	243f      	addi      	r4, 64
    4ef4:	3300      	movi      	r3, 0
    4ef6:	a468      	st.b      	r3, (r4, 0x8)
                IgniterClock = 0;
    4ef8:	3200      	movi      	r2, 0
    4efa:	1066      	lrw      	r3, 0x2000048e	// 4f10 <IgniterCtrl+0xf8>
    4efc:	ab40      	st.h      	r2, (r3, 0x0)
    4efe:	07a1      	br      	0x4e40	// 4e40 <IgniterCtrl+0x28>
            IgniterStep = 0;
    4f00:	3300      	movi      	r3, 0
    4f02:	07a9      	br      	0x4e54	// 4e54 <IgniterCtrl+0x3c>
    4f04:	200004dc 	.long	0x200004dc
    4f08:	200004c5 	.long	0x200004c5
    4f0c:	2000004c 	.long	0x2000004c
    4f10:	2000048e 	.long	0x2000048e
    4f14:	2000016c 	.long	0x2000016c
    4f18:	2000012c 	.long	0x2000012c

Disassembly of section .text.ExhaustFanCtrl:

00004f1c <ExhaustFanCtrl>:
//系统错误,停止排气
//判断SYS_STANDBY的值,决定是否打开排气
//上电默认SYS_STANDBY为0, 排气打开
//当SYS_STANDBY == 1时, 打开排气扇持续300s后关闭排气扇
void ExhaustFanCtrl(void)
{
    4f1c:	14d1      	push      	r4, r15
    if (RTD[0].status != Pt_Normal)
    4f1e:	1160      	lrw      	r3, 0x200004dc	// 4f9c <ExhaustFanCtrl+0x80>
    4f20:	9341      	ld.w      	r2, (r3, 0x4)
    4f22:	3a40      	cmpnei      	r2, 0
    4f24:	107f      	lrw      	r3, 0x200004c0	// 4fa0 <ExhaustFanCtrl+0x84>
    4f26:	0c19      	bf      	0x4f58	// 4f58 <ExhaustFanCtrl+0x3c>
    {
        if (ExhaustFanStep > 0)
    4f28:	8320      	ld.b      	r1, (r3, 0x0)
    4f2a:	3940      	cmpnei      	r1, 0
    4f2c:	0c09      	bf      	0x4f3e	// 4f3e <ExhaustFanCtrl+0x22>
        { //排气扇打开后,才能停止排气扇
            ExhaustFanStep = 0;
    4f2e:	3100      	movi      	r1, 0
            ExhaustFanClock = FanClose_Delay_Time; //10min = 60s * 10 = 600s,多10s用于显示OFF
            if(RTD[0].status != Pt_HighTemp) ExhaustFanClock = 0;
    4f30:	3a44      	cmpnei      	r2, 4
            ExhaustFanStep = 0;
    4f32:	a320      	st.b      	r1, (r3, 0x0)
    4f34:	105c      	lrw      	r2, 0x2000012c	// 4fa4 <ExhaustFanCtrl+0x88>
            if(RTD[0].status != Pt_HighTemp) ExhaustFanClock = 0;
    4f36:	080f      	bt      	0x4f54	// 4f54 <ExhaustFanCtrl+0x38>
            ExhaustFanClock = FanClose_Delay_Time; //10min = 60s * 10 = 600s,多10s用于显示OFF
    4f38:	3396      	movi      	r3, 150
    4f3a:	4362      	lsli      	r3, r3, 2
    4f3c:	aa70      	st.h      	r3, (r2, 0x20)
        }
    }
    switch (ExhaustFanStep)
    {
        case 0:
            if (ExhaustFanClock > 0)
    4f3e:	109a      	lrw      	r4, 0x2000012c	// 4fa4 <ExhaustFanCtrl+0x88>
    4f40:	8c70      	ld.h      	r3, (r4, 0x20)
    4f42:	3b40      	cmpnei      	r3, 0
    4f44:	1079      	lrw      	r3, 0x20000048	// 4fa8 <ExhaustFanCtrl+0x8c>
            { //延迟10min
                ExhaustFanOpen;
    4f46:	3105      	movi      	r1, 5
    4f48:	9300      	ld.w      	r0, (r3, 0x0)
            if (ExhaustFanClock > 0)
    4f4a:	0c0e      	bf      	0x4f66	// 4f66 <ExhaustFanCtrl+0x4a>
                ExhaustFanOpen;
    4f4c:	e3ffe706 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
                LowTemp_Ctrl = 0; //延迟低盐检测10min
    4f50:	1077      	lrw      	r3, 0x2000019c	// 4fac <ExhaustFanCtrl+0x90>
    4f52:	0408      	br      	0x4f62	// 4f62 <ExhaustFanCtrl+0x46>
            if(RTD[0].status != Pt_HighTemp) ExhaustFanClock = 0;
    4f54:	3100      	movi      	r1, 0
    4f56:	aa30      	st.h      	r1, (r2, 0x20)
    switch (ExhaustFanStep)
    4f58:	8340      	ld.b      	r2, (r3, 0x0)
    4f5a:	3a40      	cmpnei      	r2, 0
    4f5c:	0ff1      	bf      	0x4f3e	// 4f3e <ExhaustFanCtrl+0x22>
    4f5e:	3a41      	cmpnei      	r2, 1
    4f60:	0c16      	bf      	0x4f8c	// 4f8c <ExhaustFanCtrl+0x70>
        case 1:
            ExhaustFanOpen;
            first_open = false;
            break;
        default:
            ExhaustFanStep = 0;
    4f62:	3200      	movi      	r2, 0
    4f64:	0410      	br      	0x4f84	// 4f84 <ExhaustFanCtrl+0x68>
                ExhaustFanClose;
    4f66:	e3ffe6f5 	bsr      	0x1d50	// 1d50 <GPIO_Write_High>
                if (first_open == false)
    4f6a:	1072      	lrw      	r3, 0x200000b8	// 4fb0 <ExhaustFanCtrl+0x94>
    4f6c:	8340      	ld.b      	r2, (r3, 0x0)
    4f6e:	3a40      	cmpnei      	r2, 0
    4f70:	080b      	bt      	0x4f86	// 4f86 <ExhaustFanCtrl+0x6a>
                    if (Temp_Param.oven < 500)
    4f72:	1051      	lrw      	r2, 0x20000468	// 4fb4 <ExhaustFanCtrl+0x98>
    4f74:	8a40      	ld.h      	r2, (r2, 0x0)
    4f76:	748b      	sexth      	r2, r2
    4f78:	1030      	lrw      	r1, 0x1f3	// 4fb8 <ExhaustFanCtrl+0x9c>
    4f7a:	6485      	cmplt      	r1, r2
    4f7c:	0806      	bt      	0x4f88	// 4f88 <ExhaustFanCtrl+0x6c>
                        ExhaustHeatingClock = 30;
    4f7e:	321e      	movi      	r2, 30
                        ExhaustHeatingClock = 60;
    4f80:	ac56      	st.h      	r2, (r4, 0x2c)
                        first_open = true;
    4f82:	3201      	movi      	r2, 1
            ExhaustFanStep = 0;
    4f84:	a340      	st.b      	r2, (r3, 0x0)
            break;
    }
}
    4f86:	1491      	pop      	r4, r15
                        ExhaustHeatingClock = 60;
    4f88:	323c      	movi      	r2, 60
    4f8a:	07fb      	br      	0x4f80	// 4f80 <ExhaustFanCtrl+0x64>
            ExhaustFanOpen;
    4f8c:	1067      	lrw      	r3, 0x20000048	// 4fa8 <ExhaustFanCtrl+0x8c>
    4f8e:	3105      	movi      	r1, 5
    4f90:	9300      	ld.w      	r0, (r3, 0x0)
    4f92:	e3ffe6e3 	bsr      	0x1d58	// 1d58 <GPIO_Write_Low>
            first_open = false;
    4f96:	1067      	lrw      	r3, 0x200000b8	// 4fb0 <ExhaustFanCtrl+0x94>
    4f98:	07e5      	br      	0x4f62	// 4f62 <ExhaustFanCtrl+0x46>
    4f9a:	0000      	bkpt
    4f9c:	200004dc 	.long	0x200004dc
    4fa0:	200004c0 	.long	0x200004c0
    4fa4:	2000012c 	.long	0x2000012c
    4fa8:	20000048 	.long	0x20000048
    4fac:	2000019c 	.long	0x2000019c
    4fb0:	200000b8 	.long	0x200000b8
    4fb4:	20000468 	.long	0x20000468
    4fb8:	000001f3 	.long	0x000001f3

Disassembly of section .text.PI_Ctrl:

00004fbc <PI_Ctrl>:

/** structure for PID parameters ********************************/


void PI_Ctrl(stc_pi_t *pstc, stc_pid_para_t *stcPIParam,int grill_temperature,int temp_set)
{
    4fbc:	14d4      	push      	r4-r7, r15
    4fbe:	1428      	subi      	r14, r14, 32
    4fc0:	6d87      	mov      	r6, r1
	pstc->i32Q15_Fbk = grill_temperature;
	pstc->i32Q15_Ref = temp_set;
	
	if(pstc->u8En==0)
    4fc2:	8020      	ld.b      	r1, (r0, 0x0)
    4fc4:	3940      	cmpnei      	r1, 0
    4fc6:	3120      	movi      	r1, 32
    4fc8:	6040      	addu      	r1, r0
{
    4fca:	6d03      	mov      	r4, r0
	pstc->i32Q15_Fbk = grill_temperature;
    4fcc:	b042      	st.w      	r2, (r0, 0x8)
	pstc->i32Q15_Ref = temp_set;
    4fce:	b061      	st.w      	r3, (r0, 0x4)
    4fd0:	b820      	st.w      	r1, (r14, 0x0)
	if(pstc->u8En==0)
    4fd2:	0805      	bt      	0x4fdc	// 4fdc <PI_Ctrl+0x20>
	{
		//pstc->i32Q27_Iout=0;
		//pstc->i32Q27_Output=0;
		pstc->u8IntegralLmtFlg=0;
    4fd4:	3200      	movi      	r2, 0
    4fd6:	a144      	st.b      	r2, (r1, 0x4)
		}
		if(pstc->i32Q27_Iout > stcPIParam->i32Q27_OutMax) pstc ->i32Q27_Iout = stcPIParam->i32Q27_OutMax;
		if(pstc->i32Q27_Iout < stcPIParam->i32Q27_OutMin) pstc->i32Q27_Iout = stcPIParam->i32Q27_OutMin;
		pstc->i32Q15_LastErr = pstc->i32Q15_Err; // Update last error for next iteration
	}
}
    4fd8:	1408      	addi      	r14, r14, 32
    4fda:	1494      	pop      	r4-r7, r15
		pstc->i32Q15_Err = pstc->i32Q15_Ref - pstc->i32Q15_Fbk;
    4fdc:	5be9      	subu      	r7, r3, r2
    4fde:	b0e5      	st.w      	r7, (r0, 0x14)
		if(pstc->u8IntegralLmtFlg==0)
    4fe0:	9860      	ld.w      	r3, (r14, 0x0)
    4fe2:	8364      	ld.b      	r3, (r3, 0x4)
    4fe4:	3b40      	cmpnei      	r3, 0
    4fe6:	080e      	bt      	0x5002	// 5002 <PI_Ctrl+0x46>
			 pstc->i32Q27_Iout += (stcPIParam->i32Q12_Ki * pstc->i32Q15_Err);
    4fe8:	6c1f      	mov      	r0, r7
    4fea:	e3ffdfc7 	bsr      	0xf78	// f78 <__floatsidf>
    4fee:	9646      	ld.w      	r2, (r6, 0x18)
    4ff0:	9667      	ld.w      	r3, (r6, 0x1c)
    4ff2:	e3ffdd87 	bsr      	0xb00	// b00 <__muldf3>
    4ff6:	9446      	ld.w      	r2, (r4, 0x18)
    4ff8:	9467      	ld.w      	r3, (r4, 0x1c)
    4ffa:	e3ffdd49 	bsr      	0xa8c	// a8c <__adddf3>
    4ffe:	b406      	st.w      	r0, (r4, 0x18)
    5000:	b427      	st.w      	r1, (r4, 0x1c)
		pstc->i32Q27_Output = pstc->i32Q27_Iout + (stcPIParam->i32Q12_Kp * pstc->i32Q15_Err)+(stcPIParam->i32Q12_Kd * i32Q15_Derivative);
    5002:	9466      	ld.w      	r3, (r4, 0x18)
    5004:	b864      	st.w      	r3, (r14, 0x10)
    5006:	9467      	ld.w      	r3, (r4, 0x1c)
    5008:	b865      	st.w      	r3, (r14, 0x14)
		int i32Q15_Derivative = pstc->i32Q15_Err - pstc->i32Q15_LastErr;
    500a:	946a      	ld.w      	r3, (r4, 0x28)
    500c:	5f0d      	subu      	r0, r7, r3
		pstc->i32Q27_Output = pstc->i32Q27_Iout + (stcPIParam->i32Q12_Kp * pstc->i32Q15_Err)+(stcPIParam->i32Q12_Kd * i32Q15_Derivative);
    500e:	e3ffdfb5 	bsr      	0xf78	// f78 <__floatsidf>
    5012:	9648      	ld.w      	r2, (r6, 0x20)
    5014:	9669      	ld.w      	r3, (r6, 0x24)
    5016:	e3ffdd75 	bsr      	0xb00	// b00 <__muldf3>
    501a:	b801      	st.w      	r0, (r14, 0x4)
    501c:	6c1f      	mov      	r0, r7
    501e:	6d47      	mov      	r5, r1
    5020:	e3ffdfac 	bsr      	0xf78	// f78 <__floatsidf>
    5024:	9644      	ld.w      	r2, (r6, 0x10)
    5026:	9665      	ld.w      	r3, (r6, 0x14)
    5028:	e3ffdd6c 	bsr      	0xb00	// b00 <__muldf3>
    502c:	9844      	ld.w      	r2, (r14, 0x10)
    502e:	9865      	ld.w      	r3, (r14, 0x14)
    5030:	e3ffdd2e 	bsr      	0xa8c	// a8c <__adddf3>
    5034:	6c83      	mov      	r2, r0
    5036:	6cc7      	mov      	r3, r1
    5038:	9801      	ld.w      	r0, (r14, 0x4)
    503a:	6c57      	mov      	r1, r5
    503c:	e3ffdd28 	bsr      	0xa8c	// a8c <__adddf3>
    5040:	b802      	st.w      	r0, (r14, 0x8)
    5042:	b823      	st.w      	r1, (r14, 0xc)
    5044:	b403      	st.w      	r0, (r4, 0xc)
    5046:	b424      	st.w      	r1, (r4, 0x10)
		if(pstc->i32Q27_Output > stcPIParam->i32Q27_OutMax)
    5048:	966c      	ld.w      	r3, (r6, 0x30)
    504a:	b861      	st.w      	r3, (r14, 0x4)
    504c:	96ad      	ld.w      	r5, (r6, 0x34)
    504e:	6c8f      	mov      	r2, r3
    5050:	6cd7      	mov      	r3, r5
    5052:	e3ffdf1b 	bsr      	0xe88	// e88 <__gtdf2>
    5056:	3820      	cmplti      	r0, 1
    5058:	0820      	bt      	0x5098	// 5098 <PI_Ctrl+0xdc>
			pstc->i32Q27_Output = stcPIParam->i32Q27_OutMax;
    505a:	9861      	ld.w      	r3, (r14, 0x4)
    505c:	b463      	st.w      	r3, (r4, 0xc)
    505e:	b4a4      	st.w      	r5, (r4, 0x10)
			pstc->u8IntegralLmtFlg=1;
    5060:	9860      	ld.w      	r3, (r14, 0x0)
    5062:	3201      	movi      	r2, 1
			pstc->u8IntegralLmtFlg=0;
    5064:	a344      	st.b      	r2, (r3, 0x4)
		if(pstc->i32Q27_Iout > stcPIParam->i32Q27_OutMax) pstc ->i32Q27_Iout = stcPIParam->i32Q27_OutMax;
    5066:	9804      	ld.w      	r0, (r14, 0x10)
    5068:	9841      	ld.w      	r2, (r14, 0x4)
    506a:	6cd7      	mov      	r3, r5
    506c:	9825      	ld.w      	r1, (r14, 0x14)
    506e:	e3ffdf0d 	bsr      	0xe88	// e88 <__gtdf2>
    5072:	3820      	cmplti      	r0, 1
    5074:	0804      	bt      	0x507c	// 507c <PI_Ctrl+0xc0>
    5076:	9861      	ld.w      	r3, (r14, 0x4)
    5078:	b466      	st.w      	r3, (r4, 0x18)
    507a:	b4a7      	st.w      	r5, (r4, 0x1c)
		if(pstc->i32Q27_Iout < stcPIParam->i32Q27_OutMin) pstc->i32Q27_Iout = stcPIParam->i32Q27_OutMin;
    507c:	96aa      	ld.w      	r5, (r6, 0x28)
    507e:	96cb      	ld.w      	r6, (r6, 0x2c)
    5080:	6c97      	mov      	r2, r5
    5082:	6cdb      	mov      	r3, r6
    5084:	9406      	ld.w      	r0, (r4, 0x18)
    5086:	9427      	ld.w      	r1, (r4, 0x1c)
    5088:	e3ffdf3c 	bsr      	0xf00	// f00 <__ltdf2>
    508c:	38df      	btsti      	r0, 31
    508e:	0c03      	bf      	0x5094	// 5094 <PI_Ctrl+0xd8>
    5090:	b4a6      	st.w      	r5, (r4, 0x18)
    5092:	b4c7      	st.w      	r6, (r4, 0x1c)
		pstc->i32Q15_LastErr = pstc->i32Q15_Err; // Update last error for next iteration
    5094:	b4ea      	st.w      	r7, (r4, 0x28)
}
    5096:	07a1      	br      	0x4fd8	// 4fd8 <PI_Ctrl+0x1c>
		else if(pstc->i32Q27_Output < stcPIParam->i32Q27_OutMin)
    5098:	966a      	ld.w      	r3, (r6, 0x28)
    509a:	b866      	st.w      	r3, (r14, 0x18)
    509c:	966b      	ld.w      	r3, (r6, 0x2c)
    509e:	9846      	ld.w      	r2, (r14, 0x18)
    50a0:	9802      	ld.w      	r0, (r14, 0x8)
    50a2:	9823      	ld.w      	r1, (r14, 0xc)
    50a4:	b867      	st.w      	r3, (r14, 0x1c)
    50a6:	e3ffdf2d 	bsr      	0xf00	// f00 <__ltdf2>
    50aa:	38df      	btsti      	r0, 31
    50ac:	0c08      	bf      	0x50bc	// 50bc <PI_Ctrl+0x100>
			pstc->i32Q27_Output = stcPIParam->i32Q27_OutMin;
    50ae:	9866      	ld.w      	r3, (r14, 0x18)
    50b0:	b463      	st.w      	r3, (r4, 0xc)
    50b2:	9867      	ld.w      	r3, (r14, 0x1c)
    50b4:	b464      	st.w      	r3, (r4, 0x10)
			pstc->u8IntegralLmtFlg=2;
    50b6:	3202      	movi      	r2, 2
    50b8:	9860      	ld.w      	r3, (r14, 0x0)
    50ba:	07d5      	br      	0x5064	// 5064 <PI_Ctrl+0xa8>
			pstc->u8IntegralLmtFlg=0;
    50bc:	9860      	ld.w      	r3, (r14, 0x0)
    50be:	3200      	movi      	r2, 0
    50c0:	07d2      	br      	0x5064	// 5064 <PI_Ctrl+0xa8>

Disassembly of section .text.ADC_Clock:

000050c4 <ADC_Clock>:
//Tick 10ms
void ADC_Clock(void)
{
    static uint16_t count = 0;

    if(Probe1_PtStateDelayCount > 0) Probe1_PtStateDelayCount--;
    50c4:	1074      	lrw      	r3, 0x20000190	// 5114 <ADC_Clock+0x50>
    50c6:	8b40      	ld.h      	r2, (r3, 0x0)
    50c8:	3a40      	cmpnei      	r2, 0
    50ca:	0c03      	bf      	0x50d0	// 50d0 <ADC_Clock+0xc>
    50cc:	2a00      	subi      	r2, 1
    50ce:	ab40      	st.h      	r2, (r3, 0x0)
    if(Probe2_PtStateDelayCount > 0) Probe2_PtStateDelayCount--;
    50d0:	8b41      	ld.h      	r2, (r3, 0x2)
    50d2:	3a40      	cmpnei      	r2, 0
    50d4:	0c03      	bf      	0x50da	// 50da <ADC_Clock+0x16>
    50d6:	2a00      	subi      	r2, 1
    50d8:	ab41      	st.h      	r2, (r3, 0x2)
    if(ADC_Tick_20ms < 0xffff) ADC_Tick_20ms++;
    50da:	1030      	lrw      	r1, 0x200004d8	// 5118 <ADC_Clock+0x54>
    50dc:	8940      	ld.h      	r2, (r1, 0x0)
    50de:	1010      	lrw      	r0, 0xffff	// 511c <ADC_Clock+0x58>
    50e0:	640a      	cmpne      	r2, r0
    50e2:	0c03      	bf      	0x50e8	// 50e8 <ADC_Clock+0x24>
    50e4:	2200      	addi      	r2, 1
    50e6:	a940      	st.h      	r2, (r1, 0x0)
    if(Alarm_Tick_1s < 0xffff) Alarm_Tick_1s++;
    50e8:	102e      	lrw      	r1, 0x200004f8	// 5120 <ADC_Clock+0x5c>
    50ea:	8940      	ld.h      	r2, (r1, 0x0)
    50ec:	100c      	lrw      	r0, 0xffff	// 511c <ADC_Clock+0x58>
    50ee:	640a      	cmpne      	r2, r0
    50f0:	0c03      	bf      	0x50f6	// 50f6 <ADC_Clock+0x32>
    50f2:	2200      	addi      	r2, 1
    50f4:	a940      	st.h      	r2, (r1, 0x0)
    count++;
    50f6:	8b42      	ld.h      	r2, (r3, 0x4)
    50f8:	2200      	addi      	r2, 1
    50fa:	7489      	zexth      	r2, r2
    if(count >= 10)
    50fc:	3a09      	cmphsi      	r2, 10
    50fe:	0803      	bt      	0x5104	// 5104 <ADC_Clock+0x40>
    count++;
    5100:	ab42      	st.h      	r2, (r3, 0x4)
    {
        count = 0;
        AD_Tick_20mS_Count++;
    }
}
    5102:	783c      	jmp      	r15
        count = 0;
    5104:	3200      	movi      	r2, 0
    5106:	ab42      	st.h      	r2, (r3, 0x4)
        AD_Tick_20mS_Count++;
    5108:	1047      	lrw      	r2, 0x200004fc	// 5124 <ADC_Clock+0x60>
    510a:	8a60      	ld.h      	r3, (r2, 0x0)
    510c:	2300      	addi      	r3, 1
    510e:	aa60      	st.h      	r3, (r2, 0x0)
}
    5110:	07f9      	br      	0x5102	// 5102 <ADC_Clock+0x3e>
    5112:	0000      	bkpt
    5114:	20000190 	.long	0x20000190
    5118:	200004d8 	.long	0x200004d8
    511c:	0000ffff 	.long	0x0000ffff
    5120:	200004f8 	.long	0x200004f8
    5124:	200004fc 	.long	0x200004fc

Disassembly of section .text.HighTempAlarm:

00005128 <HighTempAlarm>:
//高温报警: 烤炉温度长时间>650°F,Tick 1s
void HighTempAlarm(void)
{
    static uint16_t HighTemp_Count = 0;

    if (grill_temperature >= 650)
    5128:	1069      	lrw      	r3, 0x20000148	// 514c <HighTempAlarm+0x24>
    512a:	9340      	ld.w      	r2, (r3, 0x0)
    512c:	1069      	lrw      	r3, 0x289	// 5150 <HighTempAlarm+0x28>
    512e:	648d      	cmplt      	r3, r2
    5130:	1049      	lrw      	r2, 0x20000190	// 5154 <HighTempAlarm+0x2c>
    5132:	0c0b      	bf      	0x5148	// 5148 <HighTempAlarm+0x20>
    {
        if (HighTemp_Count >= 5)
    5134:	8a63      	ld.h      	r3, (r2, 0x6)
    5136:	3b04      	cmphsi      	r3, 5
    5138:	0c05      	bf      	0x5142	// 5142 <HighTempAlarm+0x1a>
        { //持续5s,执行高温报警
            RTD[0].status = Pt_HighTemp;
    513a:	3204      	movi      	r2, 4
    513c:	1067      	lrw      	r3, 0x200004dc	// 5158 <HighTempAlarm+0x30>
    513e:	b341      	st.w      	r2, (r3, 0x4)
        }
        else HighTemp_Count++;
    }
    else HighTemp_Count = 0;
}
    5140:	783c      	jmp      	r15
        else HighTemp_Count++;
    5142:	2300      	addi      	r3, 1
    else HighTemp_Count = 0;
    5144:	aa63      	st.h      	r3, (r2, 0x6)
}
    5146:	07fd      	br      	0x5140	// 5140 <HighTempAlarm+0x18>
    else HighTemp_Count = 0;
    5148:	3300      	movi      	r3, 0
    514a:	07fd      	br      	0x5144	// 5144 <HighTempAlarm+0x1c>
    514c:	20000148 	.long	0x20000148
    5150:	00000289 	.long	0x00000289
    5154:	20000190 	.long	0x20000190
    5158:	200004dc 	.long	0x200004dc

Disassembly of section .text.LowTempAlarm:

0000515c <LowTempAlarm>:

//低温报警功能: 烤炉温度长时间低于120°F
void LowTempAlarm(void)
{
    515c:	14d1      	push      	r4, r15
//        LowTemp_Step = 0;
//        LowTemp_Ctrl = 0;
//        return;
//    }

    if (Alarm_Tick_1s >= 100)
    515e:	105c      	lrw      	r2, 0x200004f8	// 51cc <LowTempAlarm+0x70>
    5160:	8a60      	ld.h      	r3, (r2, 0x0)
    5162:	3163      	movi      	r1, 99
    5164:	64c4      	cmphs      	r1, r3
    5166:	0817      	bt      	0x5194	// 5194 <LowTempAlarm+0x38>
    { //Tick 1s
        Alarm_Tick_1s -= 100;
    5168:	2b63      	subi      	r3, 100
    516a:	aa60      	st.h      	r3, (r2, 0x0)

        if(LowTemp_Count < 0xfff0) LowTemp_Count++;
    516c:	1039      	lrw      	r1, 0xffef	// 51d0 <LowTempAlarm+0x74>
    516e:	107a      	lrw      	r3, 0x20000190	// 51d4 <LowTempAlarm+0x78>
    5170:	8b44      	ld.h      	r2, (r3, 0x8)
    5172:	6484      	cmphs      	r1, r2
    5174:	0c03      	bf      	0x517a	// 517a <LowTempAlarm+0x1e>
    5176:	2200      	addi      	r2, 1
    5178:	ab44      	st.h      	r2, (r3, 0x8)
        if ((LowTemp_Count >= 240) && (LowTemp_Step == 0))
    517a:	8b24      	ld.h      	r1, (r3, 0x8)
    517c:	32ef      	movi      	r2, 239
    517e:	6448      	cmphs      	r2, r1
    5180:	080b      	bt      	0x5196	// 5196 <LowTempAlarm+0x3a>
    5182:	8b45      	ld.h      	r2, (r3, 0xa)
    5184:	3a40      	cmpnei      	r2, 0
    5186:	0808      	bt      	0x5196	// 5196 <LowTempAlarm+0x3a>
        { //开机上电后延迟 240s
            LowTemp_Count = 0;
    5188:	ab44      	st.h      	r2, (r3, 0x8)
            LowTemp_Step = 1;
    518a:	3201      	movi      	r2, 1
    518c:	ab45      	st.h      	r2, (r3, 0xa)
			LowTemp_Ctrl = 1;
    518e:	a34c      	st.b      	r2, (r3, 0xc)
            {
                LowTemp_Step = 1;
                LowTemp_Count = 0;
            }
        }
        HighTempAlarm();
    5190:	e3ffffcc 	bsr      	0x5128	// 5128 <HighTempAlarm>
    }
}
    5194:	1491      	pop      	r4, r15
        else if(LowTemp_Step == 1)
    5196:	8b45      	ld.h      	r2, (r3, 0xa)
    5198:	3a41      	cmpnei      	r2, 1
    519a:	0bfb      	bt      	0x5190	// 5190 <LowTempAlarm+0x34>
            if (RTD[0].value < 120)
    519c:	104f      	lrw      	r2, 0x200004dc	// 51d8 <LowTempAlarm+0x7c>
    519e:	3077      	movi      	r0, 119
    51a0:	9280      	ld.w      	r4, (r2, 0x0)
    51a2:	6501      	cmplt      	r0, r4
    51a4:	0811      	bt      	0x51c6	// 51c6 <LowTempAlarm+0x6a>
                if ((LowTemp_Count >= 600) && (LowTemp_Ctrl == 1))
    51a6:	100e      	lrw      	r0, 0x257	// 51dc <LowTempAlarm+0x80>
    51a8:	6440      	cmphs      	r0, r1
    51aa:	0bf3      	bt      	0x5190	// 5190 <LowTempAlarm+0x34>
    51ac:	832c      	ld.b      	r1, (r3, 0xc)
    51ae:	3941      	cmpnei      	r1, 1
    51b0:	0804      	bt      	0x51b8	// 51b8 <LowTempAlarm+0x5c>
                    RTD[0].status = Pt_LowTemp;
    51b2:	3303      	movi      	r3, 3
    51b4:	b261      	st.w      	r3, (r2, 0x4)
    51b6:	07ed      	br      	0x5190	// 5190 <LowTempAlarm+0x34>
                    LowTemp_Count = 0;
    51b8:	3200      	movi      	r2, 0
    51ba:	ab44      	st.h      	r2, (r3, 0x8)
                    LowTemp_Ctrl = 1;
    51bc:	3201      	movi      	r2, 1
    51be:	a34c      	st.b      	r2, (r3, 0xc)
                    LowTemp_Step = 0;
    51c0:	3200      	movi      	r2, 0
    51c2:	ab45      	st.h      	r2, (r3, 0xa)
    51c4:	07e6      	br      	0x5190	// 5190 <LowTempAlarm+0x34>
                LowTemp_Count = 0;
    51c6:	3200      	movi      	r2, 0
    51c8:	ab44      	st.h      	r2, (r3, 0x8)
    51ca:	07e3      	br      	0x5190	// 5190 <LowTempAlarm+0x34>
    51cc:	200004f8 	.long	0x200004f8
    51d0:	0000ffef 	.long	0x0000ffef
    51d4:	20000190 	.long	0x20000190
    51d8:	200004dc 	.long	0x200004dc
    51dc:	00000257 	.long	0x00000257

Disassembly of section .text.ADC_KeyUpDown:

000051e0 <ADC_KeyUpDown>:
{
    #if filter_fun				   
        Calbr_Temp_Flag = 0;
        Change_Mode_Flag = 1;
    #endif
}
    51e0:	783c      	jmp      	r15

Disassembly of section .text.weighted_average_filter:

000051e4 <weighted_average_filter>:

// 加权平均滤波函数
double weighted_average_filter() 
{
    51e4:	14d4      	push      	r4-r7, r15

    for(int i = 0; i < FILTER_SIZE - 1; i++) 
	{
		if (weights[i] == 0)
		{
			weights[i] = temp_set;
    51e6:	1078      	lrw      	r3, 0x2000007c	// 5244 <weighted_average_filter+0x60>
    51e8:	8b00      	ld.h      	r0, (r3, 0x0)
    51ea:	1078      	lrw      	r3, 0x200001a0	// 5248 <weighted_average_filter+0x64>
    51ec:	6c8f      	mov      	r2, r3
    for(int i = 0; i < FILTER_SIZE - 1; i++) 
    51ee:	3100      	movi      	r1, 0
    51f0:	6dcf      	mov      	r7, r3
		if (weights[i] == 0)
    51f2:	9280      	ld.w      	r4, (r2, 0x0)
    51f4:	3c40      	cmpnei      	r4, 0
    51f6:	0802      	bt      	0x51fa	// 51fa <weighted_average_filter+0x16>
			weights[i] = temp_set;
    51f8:	b200      	st.w      	r0, (r2, 0x0)
    for(int i = 0; i < FILTER_SIZE - 1; i++) 
    51fa:	2100      	addi      	r1, 1
    51fc:	395d      	cmpnei      	r1, 29
    51fe:	2203      	addi      	r2, 4
    5200:	0bf9      	bt      	0x51f2	// 51f2 <weighted_average_filter+0xe>
    5202:	3200      	movi      	r2, 0
		}
	}
	for (int i = 0; i < FILTER_SIZE - 1; i++) 
	{
		weights[i] = weights[i + 1];
    5204:	2200      	addi      	r2, 1
    5206:	9321      	ld.w      	r1, (r3, 0x4)
	for (int i = 0; i < FILTER_SIZE - 1; i++) 
    5208:	3a5d      	cmpnei      	r2, 29
		weights[i] = weights[i + 1];
    520a:	b320      	st.w      	r1, (r3, 0x0)
    520c:	2303      	addi      	r3, 4
	for (int i = 0; i < FILTER_SIZE - 1; i++) 
    520e:	0bfb      	bt      	0x5204	// 5204 <weighted_average_filter+0x20>
	}
	// 在最后一个位置补充新的温度值
	weights[FILTER_SIZE - 1] = temp_set;
    5210:	b71d      	st.w      	r0, (r7, 0x74)
    5212:	3600      	movi      	r6, 0
	double sum = 0.0;
    5214:	3500      	movi      	r5, 0
    5216:	3400      	movi      	r4, 0
	// 计算温度
	for (int i = 0; i < FILTER_SIZE; i++) 
	{
		sum += weights[i];
    5218:	5f78      	addu      	r3, r7, r6
    521a:	9300      	ld.w      	r0, (r3, 0x0)
    521c:	e3ffdeae 	bsr      	0xf78	// f78 <__floatsidf>
    5220:	6cc7      	mov      	r3, r1
    5222:	6c83      	mov      	r2, r0
    5224:	6c53      	mov      	r1, r4
    5226:	6c17      	mov      	r0, r5
    5228:	e3ffdc32 	bsr      	0xa8c	// a8c <__adddf3>
    522c:	2603      	addi      	r6, 4
	for (int i = 0; i < FILTER_SIZE; i++) 
    522e:	3378      	movi      	r3, 120
    5230:	64da      	cmpne      	r6, r3
		sum += weights[i];
    5232:	6d43      	mov      	r5, r0
    5234:	6d07      	mov      	r4, r1
	for (int i = 0; i < FILTER_SIZE; i++) 
    5236:	0bf1      	bt      	0x5218	// 5218 <weighted_average_filter+0x34>
	}
	// 返回平均值
	return sum / FILTER_SIZE;
    5238:	3200      	movi      	r2, 0
    523a:	1065      	lrw      	r3, 0x403e0000	// 524c <weighted_average_filter+0x68>
    523c:	e3ffdd7c 	bsr      	0xd34	// d34 <__divdf3>
}
    5240:	1494      	pop      	r4-r7, r15
    5242:	0000      	bkpt
    5244:	2000007c 	.long	0x2000007c
    5248:	200001a0 	.long	0x200001a0
    524c:	403e0000 	.long	0x403e0000

Disassembly of section .text.ADSampling:

00005250 <ADSampling>:

void ADSampling(void)
{
    5250:	14d4      	push      	r4-r7, r15
    5252:	1421      	subi      	r14, r14, 4
    float temp_float;
	static double temp_calculation =0;
    float temp = 0;
	
    if(ADC_Tick_20ms >= 2)
    5254:	0256      	lrw      	r2, 0x200004d8	// 54f8 <ADSampling+0x2a8>
    5256:	8a60      	ld.h      	r3, (r2, 0x0)
    5258:	3b01      	cmphsi      	r3, 2
    525a:	0cef      	bf      	0x5438	// 5438 <ADSampling+0x1e8>
    {
        ADC_Tick_20ms -= 2;
    525c:	2b01      	subi      	r3, 2

        if(ch == 0)
    525e:	0297      	lrw      	r4, 0x20000210	// 54fc <ADSampling+0x2ac>
        ADC_Tick_20ms -= 2;
    5260:	aa60      	st.h      	r3, (r2, 0x0)
        if(ch == 0)
    5262:	8468      	ld.b      	r3, (r4, 0x8)
    5264:	3b40      	cmpnei      	r3, 0
    5266:	0854      	bt      	0x530e	// 530e <ADSampling+0xbe>
        {
            temp = SamplingSingle(ADC_INTVREF_1v);
    5268:	3005      	movi      	r0, 5
    526a:	e3fff54b 	bsr      	0x3d00	// 3d00 <SamplingSingle>
            if(temp == 0) return; 
    526e:	3840      	cmpnei      	r0, 0
    5270:	0ce4      	bf      	0x5438	// 5438 <ADSampling+0x1e8>
            temp = SamplingSingle(ADC_INTVREF_1v);
    5272:	e3ffda79 	bsr      	0x764	// 764 <__floatunsisf>
    5276:	6c43      	mov      	r1, r0
            AD_1v = ((float)1000.0 / temp); 
    5278:	021d      	lrw      	r0, 0x447a0000	// 5500 <ADSampling+0x2b0>
    527a:	e3ffd903 	bsr      	0x480	// 480 <__divsf3>
    527e:	b403      	st.w      	r0, (r4, 0xc)

            temp = SamplingSingle(ADC_BAT_V);
    5280:	3004      	movi      	r0, 4
    5282:	e3fff53f 	bsr      	0x3d00	// 3d00 <SamplingSingle>
    5286:	e3ffda6f 	bsr      	0x764	// 764 <__floatunsisf>
            temp = AD_1v * temp; //分压
    528a:	9423      	ld.w      	r1, (r4, 0xc)
    528c:	e3ffd872 	bsr      	0x370	// 370 <__mulsf3>
            battery_vdd = temp * 4;
    5290:	3181      	movi      	r1, 129
    5292:	4137      	lsli      	r1, r1, 23
    5294:	e3ffd86e 	bsr      	0x370	// 370 <__mulsf3>
    5298:	b404      	st.w      	r0, (r4, 0x10)
            
            temp = SamplingSingle(ADC_Oven);
    529a:	3001      	movi      	r0, 1
        }
        else if(ch == 1) temp = SamplingSingle(ADC_Meat1);
        else if(ch == 2) temp = SamplingSingle(ADC_Meat2);
    529c:	e3fff532 	bsr      	0x3d00	// 3d00 <SamplingSingle>
    52a0:	e3ffda62 	bsr      	0x764	// 764 <__floatunsisf>
        
        temp = AD_1v * temp; //分压
    52a4:	9423      	ld.w      	r1, (r4, 0xc)
    52a6:	e3ffd865 	bsr      	0x370	// 370 <__mulsf3>
    52aa:	6c43      	mov      	r1, r0
		battery_vdd1 = temp;
    52ac:	b405      	st.w      	r0, (r4, 0x14)
        temp_float = V_Convert_R(battery_vdd, temp);
    52ae:	9404      	ld.w      	r0, (r4, 0x10)
    52b0:	e3fff7f4 	bsr      	0x4298	// 4298 <V_Convert_R>
        temp_float = Quadratic_F(temp_float);
    52b4:	e3ffda46 	bsr      	0x740	// 740 <__extendsfdf2>
    52b8:	e3fff892 	bsr      	0x43dc	// 43dc <Quadratic_F>
    52bc:	e3ffdee2 	bsr      	0x1080	// 1080 <__truncdfsf2>

        if(ch == 0)
    52c0:	8468      	ld.b      	r3, (r4, 0x8)
    52c2:	3b40      	cmpnei      	r3, 0
        temp_float = Quadratic_F(temp_float);
    52c4:	6c43      	mov      	r1, r0
    52c6:	6d43      	mov      	r5, r0
    52c8:	03f0      	lrw      	r7, 0x20000190	// 5504 <ADSampling+0x2b4>
        if(ch == 0)
    52ca:	082c      	bt      	0x5322	// 5322 <ADSampling+0xd2>
        {
            temp_float = kalmanFilter(&KFP_ADC_RTD, temp_float);
    52cc:	0310      	lrw      	r0, 0x200000f0	// 5508 <ADSampling+0x2b8>
    52ce:	e0000181 	bsr      	0x55d0	// 55d0 <kalmanFilter>
            temp_float = MedianFilter(temp_float);
    52d2:	e00001ad 	bsr      	0x562c	// 562c <MedianFilter>
        else if(ch == 1)
        {
            if(Probe1_PtStateDelayCount == 0)
            {
                temp_float = kalmanFilter(&KFP_ADC_Probe1, temp_float);
                temp_float = MedianFilterA(temp_float);
    52d6:	6d43      	mov      	r5, r0
                temp_float = MedianFilterB(temp_float);
            }
            else kalmanFilter(&KFP_ADC_Probe2, temp_float);
        } 

        if(Pt1000_State == Pt1000_Short)
    52d8:	0372      	lrw      	r3, 0x2000045c	// 550c <ADSampling+0x2bc>
    52da:	03d1      	lrw      	r6, 0x200004dc	// 5510 <ADSampling+0x2c0>
    52dc:	9360      	ld.w      	r3, (r3, 0x0)
    52de:	3b41      	cmpnei      	r3, 1
    52e0:	08ae      	bt      	0x543c	// 543c <ADSampling+0x1ec>
        {
            RTD[ch].status = Pt_Short;
    52e2:	8468      	ld.b      	r3, (r4, 0x8)
    52e4:	4343      	lsli      	r2, r3, 3
    52e6:	6098      	addu      	r2, r6
    52e8:	3102      	movi      	r1, 2
            if(ch == 1) Probe1_PtStateDelayCount = 150; 
    52ea:	3b41      	cmpnei      	r3, 1
            RTD[ch].status = Pt_Short;
    52ec:	b221      	st.w      	r1, (r2, 0x4)
            if(ch == 1) Probe1_PtStateDelayCount = 150; 
    52ee:	0833      	bt      	0x5354	// 5354 <ADSampling+0x104>
    52f0:	3396      	movi      	r3, 150
    52f2:	af60      	st.h      	r3, (r7, 0x0)
        else if(ch != 0)
        {
            if((ch == 1) && (Probe1_PtStateDelayCount == 0)) RTD[ch].status = Pt_Normal;
            if((ch == 2) && (Probe2_PtStateDelayCount == 0)) RTD[ch].status = Pt_Normal;
        }
        if(temp_float > 999) temp_float = 999; //999 ℉
    52f4:	0337      	lrw      	r1, 0x4479c000	// 5514 <ADSampling+0x2c4>
    52f6:	6c17      	mov      	r0, r5
    52f8:	e3ffd958 	bsr      	0x5a8	// 5a8 <__gtsf2>
    52fc:	3820      	cmplti      	r0, 1
    52fe:	0835      	bt      	0x5368	// 5368 <ADSampling+0x118>
        RTD[ch].value = temp_float;
    5300:	8468      	ld.b      	r3, (r4, 0x8)
    5302:	4343      	lsli      	r2, r3, 3
    5304:	6098      	addu      	r2, r6
    5306:	033a      	lrw      	r1, 0x3e7	// 5518 <ADSampling+0x2c8>
    5308:	b220      	st.w      	r1, (r2, 0x0)
        ch++;
    530a:	2300      	addi      	r3, 1
    530c:	043d      	br      	0x5386	// 5386 <ADSampling+0x136>
        else if(ch == 1) temp = SamplingSingle(ADC_Meat1);
    530e:	3b41      	cmpnei      	r3, 1
    5310:	0803      	bt      	0x5316	// 5316 <ADSampling+0xc6>
    5312:	3002      	movi      	r0, 2
    5314:	07c4      	br      	0x529c	// 529c <ADSampling+0x4c>
        else if(ch == 2) temp = SamplingSingle(ADC_Meat2);
    5316:	3b42      	cmpnei      	r3, 2
    5318:	0803      	bt      	0x531e	// 531e <ADSampling+0xce>
    531a:	3003      	movi      	r0, 3
    531c:	07c0      	br      	0x529c	// 529c <ADSampling+0x4c>
    float temp = 0;
    531e:	3000      	movi      	r0, 0
    5320:	07c2      	br      	0x52a4	// 52a4 <ADSampling+0x54>
        else if(ch == 1)
    5322:	3b41      	cmpnei      	r3, 1
    5324:	080a      	bt      	0x5338	// 5338 <ADSampling+0xe8>
            if(Probe1_PtStateDelayCount == 0)
    5326:	8f60      	ld.h      	r3, (r7, 0x0)
    5328:	3b40      	cmpnei      	r3, 0
                temp_float = kalmanFilter(&KFP_ADC_Probe1, temp_float);
    532a:	131d      	lrw      	r0, 0x200000d8	// 551c <ADSampling+0x2cc>
            if(Probe1_PtStateDelayCount == 0)
    532c:	0811      	bt      	0x534e	// 534e <ADSampling+0xfe>
                temp_float = kalmanFilter(&KFP_ADC_Probe1, temp_float);
    532e:	e0000151 	bsr      	0x55d0	// 55d0 <kalmanFilter>
                temp_float = MedianFilterA(temp_float);
    5332:	e00001b5 	bsr      	0x569c	// 569c <MedianFilterA>
    5336:	07d0      	br      	0x52d6	// 52d6 <ADSampling+0x86>
        else if(ch == 2)
    5338:	3b42      	cmpnei      	r3, 2
    533a:	0bcf      	bt      	0x52d8	// 52d8 <ADSampling+0x88>
            if(Probe2_PtStateDelayCount == 0)
    533c:	8f61      	ld.h      	r3, (r7, 0x2)
    533e:	3b40      	cmpnei      	r3, 0
                temp_float = kalmanFilter(&KFP_ADC_Probe2, temp_float);
    5340:	1318      	lrw      	r0, 0x200000c0	// 5520 <ADSampling+0x2d0>
            if(Probe2_PtStateDelayCount == 0)
    5342:	0806      	bt      	0x534e	// 534e <ADSampling+0xfe>
                temp_float = kalmanFilter(&KFP_ADC_Probe2, temp_float);
    5344:	e0000146 	bsr      	0x55d0	// 55d0 <kalmanFilter>
                temp_float = MedianFilterB(temp_float);
    5348:	e00001e4 	bsr      	0x5710	// 5710 <MedianFilterB>
    534c:	07c5      	br      	0x52d6	// 52d6 <ADSampling+0x86>
            else kalmanFilter(&KFP_ADC_Probe2, temp_float);
    534e:	e0000141 	bsr      	0x55d0	// 55d0 <kalmanFilter>
    5352:	07c3      	br      	0x52d8	// 52d8 <ADSampling+0x88>
            if(ch == 2) Probe2_PtStateDelayCount = 150; 
    5354:	3b42      	cmpnei      	r3, 2
    5356:	08a6      	bt      	0x54a2	// 54a2 <ADSampling+0x252>
    5358:	3396      	movi      	r3, 150
    535a:	af61      	st.h      	r3, (r7, 0x2)
        if(temp_float > 999) temp_float = 999; //999 ℉
    535c:	132e      	lrw      	r1, 0x4479c000	// 5514 <ADSampling+0x2c4>
    535e:	6c17      	mov      	r0, r5
    5360:	e3ffd924 	bsr      	0x5a8	// 5a8 <__gtsf2>
    5364:	3820      	cmplti      	r0, 1
    5366:	0c98      	bf      	0x5496	// 5496 <ADSampling+0x246>
        RTD[ch].value = temp_float;
    5368:	84e8      	ld.b      	r7, (r4, 0x8)
    536a:	4763      	lsli      	r3, r7, 3
        ch++;
    536c:	2700      	addi      	r7, 1
        RTD[ch].value = temp_float;
    536e:	60d8      	addu      	r3, r6
        ch++;
    5370:	75dc      	zextb      	r7, r7
        RTD[ch].value = temp_float;
    5372:	6c17      	mov      	r0, r5
    5374:	b860      	st.w      	r3, (r14, 0x0)
    5376:	e3ffd9bb 	bsr      	0x6ec	// 6ec <__fixsfsi>
    537a:	9860      	ld.w      	r3, (r14, 0x0)
        if (ch >= 3) ch = 0;
    537c:	3f02      	cmphsi      	r7, 3
        RTD[ch].value = temp_float;
    537e:	b300      	st.w      	r0, (r3, 0x0)
        ch++;
    5380:	a4e8      	st.b      	r7, (r4, 0x8)
        if (ch >= 3) ch = 0;
    5382:	0c03      	bf      	0x5388	// 5388 <ADSampling+0x138>
    5384:	3300      	movi      	r3, 0
    5386:	a468      	st.b      	r3, (r4, 0x8)

		//RTD温度相对于烤网温度进行补偿
		if(RTD[0].value>100)
    5388:	96c0      	ld.w      	r6, (r6, 0x0)
    538a:	3364      	movi      	r3, 100
    538c:	658d      	cmplt      	r3, r6
    538e:	13a6      	lrw      	r5, 0x20000148	// 5524 <ADSampling+0x2d4>
    5390:	0c08      	bf      	0x53a0	// 53a0 <ADSampling+0x150>
		{
			grill_temperature = RTD[0].value+((RTD[0].value-100)/5);
    5392:	3000      	movi      	r0, 0
    5394:	2863      	subi      	r0, 100
    5396:	6018      	addu      	r0, r6
    5398:	3105      	movi      	r1, 5
    539a:	e3ffee2d 	bsr      	0x2ff4	// 2ff4 <__divsi3>
    539e:	6180      	addu      	r6, r0
		}			   
		else
		{
			grill_temperature = RTD[0].value;
    53a0:	b5c0      	st.w      	r6, (r5, 0x0)
		}
		
		temp_diff = (int)temp_set - grill_temperature;
    53a2:	9540      	ld.w      	r2, (r5, 0x0)
    53a4:	1361      	lrw      	r3, 0x2000007c	// 5528 <ADSampling+0x2d8>
    53a6:	8b60      	ld.h      	r3, (r3, 0x0)
    53a8:	60ca      	subu      	r3, r2
    53aa:	b466      	st.w      	r3, (r4, 0x18)

		if(filter_fun)
    53ac:	847c      	ld.b      	r3, (r4, 0x1c)
    53ae:	3b40      	cmpnei      	r3, 0
    53b0:	127f      	lrw      	r3, 0x20000468	// 552c <ADSampling+0x2dc>
    53b2:	b860      	st.w      	r3, (r14, 0x0)
    53b4:	0c97      	bf      	0x54e2	// 54e2 <ADSampling+0x292>
		{	
			if(temp_set_updata > 10)
    53b6:	8c6f      	ld.h      	r3, (r4, 0x1e)
    53b8:	3b0a      	cmphsi      	r3, 11
    53ba:	12de      	lrw      	r6, 0x20000230	// 5530 <ADSampling+0x2e0>
    53bc:	0c07      	bf      	0x53ca	// 53ca <ADSampling+0x17a>
			{
				temp_set_updata = 1;
    53be:	3301      	movi      	r3, 1
    53c0:	ac6f      	st.h      	r3, (r4, 0x1e)
				temp_set_calculation = weighted_average_filter();
    53c2:	e3ffff11 	bsr      	0x51e4	// 51e4 <weighted_average_filter>
    53c6:	b600      	st.w      	r0, (r6, 0x0)
    53c8:	b621      	st.w      	r1, (r6, 0x4)
			}
			if((grill_temperature-temp_set_calculation<50)&&(grill_temperature-temp_set_calculation>-50))
    53ca:	95a0      	ld.w      	r5, (r5, 0x0)
    53cc:	6c17      	mov      	r0, r5
    53ce:	e3ffddd5 	bsr      	0xf78	// f78 <__floatsidf>
    53d2:	9640      	ld.w      	r2, (r6, 0x0)
    53d4:	9661      	ld.w      	r3, (r6, 0x4)
    53d6:	e3ffdb73 	bsr      	0xabc	// abc <__subdf3>
    53da:	3200      	movi      	r2, 0
    53dc:	1276      	lrw      	r3, 0x40490000	// 5534 <ADSampling+0x2e4>
    53de:	6dc3      	mov      	r7, r0
    53e0:	6d87      	mov      	r6, r1
    53e2:	e3ffdd8f 	bsr      	0xf00	// f00 <__ltdf2>
    53e6:	38df      	btsti      	r0, 31
    53e8:	0c65      	bf      	0x54b2	// 54b2 <ADSampling+0x262>
    53ea:	3200      	movi      	r2, 0
    53ec:	1273      	lrw      	r3, 0xc0490000	// 5538 <ADSampling+0x2e8>
    53ee:	6c1f      	mov      	r0, r7
    53f0:	6c5b      	mov      	r1, r6
    53f2:	e3ffdd4b 	bsr      	0xe88	// e88 <__gtdf2>
    53f6:	3820      	cmplti      	r0, 1
    53f8:	085d      	bt      	0x54b2	// 54b2 <ADSampling+0x262>
			{
				dis_temp_diff = (grill_temperature-temp_set_calculation)/2;
    53fa:	3200      	movi      	r2, 0
    53fc:	1270      	lrw      	r3, 0x3fe00000	// 553c <ADSampling+0x2ec>
    53fe:	6c1f      	mov      	r0, r7
    5400:	6c5b      	mov      	r1, r6
    5402:	e3ffdb7f 	bsr      	0xb00	// b00 <__muldf3>
    5406:	e3ffddf1 	bsr      	0xfe8	// fe8 <__fixdfsi>
    540a:	b40a      	st.w      	r0, (r4, 0x28)
				else if((grill_temperature-temp_set_calculation)<=-50)
				{
					dis_temp_diff = -25;
				}
			}
			if(temp_filter_time<300)
    540c:	946b      	ld.w      	r3, (r4, 0x2c)
    540e:	124d      	lrw      	r2, 0x12b	// 5540 <ADSampling+0x2f0>
    5410:	64c9      	cmplt      	r2, r3
    5412:	12cd      	lrw      	r6, 0x20000240	// 5544 <ADSampling+0x2f4>
    5414:	940a      	ld.w      	r0, (r4, 0x28)
    5416:	0864      	bt      	0x54de	// 54de <ADSampling+0x28e>
			{
				temp_calculation = grill_temperature - (int)(((temp_filter_time*temp_filter_time)*(dis_temp_diff))/(300*300));
    5418:	7ccc      	mult      	r3, r3
    541a:	7c0c      	mult      	r0, r3
    541c:	122b      	lrw      	r1, 0xfffea070	// 5548 <ADSampling+0x2f8>
    541e:	e3ffedeb 	bsr      	0x2ff4	// 2ff4 <__divsi3>
    5422:	6014      	addu      	r0, r5
			}
			else
			{
				temp_calculation = grill_temperature - dis_temp_diff;
    5424:	e3ffddaa 	bsr      	0xf78	// f78 <__floatsidf>
    5428:	b600      	st.w      	r0, (r6, 0x0)
    542a:	b621      	st.w      	r1, (r6, 0x4)
			}

			Temp_Param.oven = temp_calculation;
    542c:	9600      	ld.w      	r0, (r6, 0x0)
    542e:	9621      	ld.w      	r1, (r6, 0x4)
    5430:	e3ffdddc 	bsr      	0xfe8	// fe8 <__fixdfsi>
    5434:	117e      	lrw      	r3, 0x20000468	// 552c <ADSampling+0x2dc>
    5436:	ab00      	st.h      	r0, (r3, 0x0)
		{
			Temp_Param.oven = grill_temperature;
		}

    }
}
    5438:	1401      	addi      	r14, r14, 4
    543a:	1494      	pop      	r4-r7, r15
        else if(Pt1000_State == Pt1000_Open)
    543c:	3b42      	cmpnei      	r3, 2
            RTD[ch].status = Pt_Open;
    543e:	8468      	ld.b      	r3, (r4, 0x8)
        else if(Pt1000_State == Pt1000_Open)
    5440:	0805      	bt      	0x544a	// 544a <ADSampling+0x1fa>
            RTD[ch].status = Pt_Open;
    5442:	4343      	lsli      	r2, r3, 3
    5444:	6098      	addu      	r2, r6
    5446:	3101      	movi      	r1, 1
    5448:	0751      	br      	0x52ea	// 52ea <ADSampling+0x9a>
        else if(ch != 0)
    544a:	3b40      	cmpnei      	r3, 0
    544c:	0c07      	bf      	0x545a	// 545a <ADSampling+0x20a>
            if((ch == 1) && (Probe1_PtStateDelayCount == 0)) RTD[ch].status = Pt_Normal;
    544e:	3b41      	cmpnei      	r3, 1
    5450:	0817      	bt      	0x547e	// 547e <ADSampling+0x22e>
    5452:	8f60      	ld.h      	r3, (r7, 0x0)
    5454:	3b40      	cmpnei      	r3, 0
    5456:	0802      	bt      	0x545a	// 545a <ADSampling+0x20a>
    5458:	b663      	st.w      	r3, (r6, 0xc)
        if(temp_float > 999) temp_float = 999; //999 ℉
    545a:	112f      	lrw      	r1, 0x4479c000	// 5514 <ADSampling+0x2c4>
    545c:	6c17      	mov      	r0, r5
    545e:	e3ffd8a5 	bsr      	0x5a8	// 5a8 <__gtsf2>
    5462:	3820      	cmplti      	r0, 1
    5464:	0f4e      	bf      	0x5300	// 5300 <ADSampling+0xb0>
        RTD[ch].value = temp_float;
    5466:	84e8      	ld.b      	r7, (r4, 0x8)
    5468:	4763      	lsli      	r3, r7, 3
    546a:	60d8      	addu      	r3, r6
    546c:	6c17      	mov      	r0, r5
    546e:	b860      	st.w      	r3, (r14, 0x0)
        ch++;
    5470:	2700      	addi      	r7, 1
        RTD[ch].value = temp_float;
    5472:	e3ffd93d 	bsr      	0x6ec	// 6ec <__fixsfsi>
    5476:	9860      	ld.w      	r3, (r14, 0x0)
    5478:	b300      	st.w      	r0, (r3, 0x0)
        ch++;
    547a:	a4e8      	st.b      	r7, (r4, 0x8)
    547c:	0786      	br      	0x5388	// 5388 <ADSampling+0x138>
            if((ch == 2) && (Probe2_PtStateDelayCount == 0)) RTD[ch].status = Pt_Normal;
    547e:	3b42      	cmpnei      	r3, 2
    5480:	0811      	bt      	0x54a2	// 54a2 <ADSampling+0x252>
    5482:	8f61      	ld.h      	r3, (r7, 0x2)
    5484:	3b40      	cmpnei      	r3, 0
    5486:	0802      	bt      	0x548a	// 548a <ADSampling+0x23a>
    5488:	b665      	st.w      	r3, (r6, 0x14)
        if(temp_float > 999) temp_float = 999; //999 ℉
    548a:	1123      	lrw      	r1, 0x4479c000	// 5514 <ADSampling+0x2c4>
    548c:	6c17      	mov      	r0, r5
    548e:	e3ffd88d 	bsr      	0x5a8	// 5a8 <__gtsf2>
    5492:	3820      	cmplti      	r0, 1
    5494:	082a      	bt      	0x54e8	// 54e8 <ADSampling+0x298>
        RTD[ch].value = temp_float;
    5496:	8468      	ld.b      	r3, (r4, 0x8)
    5498:	4363      	lsli      	r3, r3, 3
    549a:	60d8      	addu      	r3, r6
    549c:	105f      	lrw      	r2, 0x3e7	// 5518 <ADSampling+0x2c8>
    549e:	b340      	st.w      	r2, (r3, 0x0)
    54a0:	0772      	br      	0x5384	// 5384 <ADSampling+0x134>
        if(temp_float > 999) temp_float = 999; //999 ℉
    54a2:	103d      	lrw      	r1, 0x4479c000	// 5514 <ADSampling+0x2c4>
    54a4:	6c17      	mov      	r0, r5
    54a6:	e3ffd881 	bsr      	0x5a8	// 5a8 <__gtsf2>
    54aa:	3820      	cmplti      	r0, 1
    54ac:	0b5e      	bt      	0x5368	// 5368 <ADSampling+0x118>
    54ae:	10ba      	lrw      	r5, 0x4479c000	// 5514 <ADSampling+0x2c4>
    54b0:	075c      	br      	0x5368	// 5368 <ADSampling+0x118>
				if((grill_temperature-temp_set_calculation)>=50)
    54b2:	3200      	movi      	r2, 0
    54b4:	1160      	lrw      	r3, 0x40490000	// 5534 <ADSampling+0x2e4>
    54b6:	6c1f      	mov      	r0, r7
    54b8:	6c5b      	mov      	r1, r6
    54ba:	e3ffdd05 	bsr      	0xec4	// ec4 <__gedf2>
    54be:	38df      	btsti      	r0, 31
    54c0:	0804      	bt      	0x54c8	// 54c8 <ADSampling+0x278>
					dis_temp_diff = 25;
    54c2:	3319      	movi      	r3, 25
					dis_temp_diff = -25;
    54c4:	b46a      	st.w      	r3, (r4, 0x28)
    54c6:	07a3      	br      	0x540c	// 540c <ADSampling+0x1bc>
				else if((grill_temperature-temp_set_calculation)<=-50)
    54c8:	3200      	movi      	r2, 0
    54ca:	107c      	lrw      	r3, 0xc0490000	// 5538 <ADSampling+0x2e8>
    54cc:	6c1f      	mov      	r0, r7
    54ce:	6c5b      	mov      	r1, r6
    54d0:	e3ffdd36 	bsr      	0xf3c	// f3c <__ledf2>
    54d4:	3820      	cmplti      	r0, 1
    54d6:	0f9b      	bf      	0x540c	// 540c <ADSampling+0x1bc>
					dis_temp_diff = -25;
    54d8:	3300      	movi      	r3, 0
    54da:	2b18      	subi      	r3, 25
    54dc:	07f4      	br      	0x54c4	// 54c4 <ADSampling+0x274>
				temp_calculation = grill_temperature - dis_temp_diff;
    54de:	5d01      	subu      	r0, r5, r0
    54e0:	07a2      	br      	0x5424	// 5424 <ADSampling+0x1d4>
			Temp_Param.oven = grill_temperature;
    54e2:	1073      	lrw      	r3, 0x20000468	// 552c <ADSampling+0x2dc>
    54e4:	ab40      	st.h      	r2, (r3, 0x0)
    54e6:	07a9      	br      	0x5438	// 5438 <ADSampling+0x1e8>
        RTD[ch].value = temp_float;
    54e8:	84e8      	ld.b      	r7, (r4, 0x8)
    54ea:	47e3      	lsli      	r7, r7, 3
    54ec:	6c17      	mov      	r0, r5
    54ee:	61d8      	addu      	r7, r6
    54f0:	e3ffd8fe 	bsr      	0x6ec	// 6ec <__fixsfsi>
    54f4:	b700      	st.w      	r0, (r7, 0x0)
    54f6:	0747      	br      	0x5384	// 5384 <ADSampling+0x134>
    54f8:	200004d8 	.long	0x200004d8
    54fc:	20000210 	.long	0x20000210
    5500:	447a0000 	.long	0x447a0000
    5504:	20000190 	.long	0x20000190
    5508:	200000f0 	.long	0x200000f0
    550c:	2000045c 	.long	0x2000045c
    5510:	200004dc 	.long	0x200004dc
    5514:	4479c000 	.long	0x4479c000
    5518:	000003e7 	.long	0x000003e7
    551c:	200000d8 	.long	0x200000d8
    5520:	200000c0 	.long	0x200000c0
    5524:	20000148 	.long	0x20000148
    5528:	2000007c 	.long	0x2000007c
    552c:	20000468 	.long	0x20000468
    5530:	20000230 	.long	0x20000230
    5534:	40490000 	.long	0x40490000
    5538:	c0490000 	.long	0xc0490000
    553c:	3fe00000 	.long	0x3fe00000
    5540:	0000012b 	.long	0x0000012b
    5544:	20000240 	.long	0x20000240
    5548:	fffea070 	.long	0xfffea070

Disassembly of section .text.ADInit:

0000554c <ADInit>:
{
    554c:	14d1      	push      	r4, r15
    adc_model_init();
    554e:	e3fffa07 	bsr      	0x495c	// 495c <adc_model_init>
    LowTemp_Ctrl = 0;
    5552:	106f      	lrw      	r3, 0x20000190	// 558c <ADInit+0x40>
    5554:	3200      	movi      	r2, 0
    5556:	a34c      	st.b      	r2, (r3, 0xc)
    LowTemp_Step = 0;
    5558:	3200      	movi      	r2, 0
    555a:	ab45      	st.h      	r2, (r3, 0xa)
    LowTemp_Count = 0;
    555c:	ab44      	st.h      	r2, (r3, 0x8)
    ADC_Tick_20ms = 330; //默认开机后连续采样
    555e:	32a5      	movi      	r2, 165
    5560:	106c      	lrw      	r3, 0x200004d8	// 5590 <ADInit+0x44>
    5562:	4241      	lsli      	r2, r2, 1
    5564:	ab40      	st.h      	r2, (r3, 0x0)
    RTD[0].status = Pt_Normal;
    5566:	3300      	movi      	r3, 0
    5568:	104b      	lrw      	r2, 0x200004dc	// 5594 <ADInit+0x48>
    Temp_Param.oven_Err = Pt_Normal;
    556a:	108c      	lrw      	r4, 0xce4	// 5598 <ADInit+0x4c>
    RTD[0].status = Pt_Normal;
    556c:	b261      	st.w      	r3, (r2, 0x4)
    Temp_Param.oven_Err = Pt_Normal;
    556e:	104c      	lrw      	r2, 0x20000468	// 559c <ADInit+0x50>
    5570:	b261      	st.w      	r3, (r2, 0x4)
    5572:	2c00      	subi      	r4, 1
    5574:	7511      	zexth      	r4, r4
        ADSampling();
    5576:	e3fffe6d 	bsr      	0x5250	// 5250 <ADSampling>
    for (i = 0; i < 3300; i++)
    557a:	3c40      	cmpnei      	r4, 0
    557c:	0bfb      	bt      	0x5572	// 5572 <ADInit+0x26>
    if(TempADC_Delay0ms_Output != 0) TempADC_Delay0ms_Output();
    557e:	1069      	lrw      	r3, 0x200004f4	// 55a0 <ADInit+0x54>
    5580:	9360      	ld.w      	r3, (r3, 0x0)
    5582:	3b40      	cmpnei      	r3, 0
    5584:	0c02      	bf      	0x5588	// 5588 <ADInit+0x3c>
    5586:	7bcd      	jsr      	r3
}
    5588:	1491      	pop      	r4, r15
    558a:	0000      	bkpt
    558c:	20000190 	.long	0x20000190
    5590:	200004d8 	.long	0x200004d8
    5594:	200004dc 	.long	0x200004dc
    5598:	00000ce4 	.long	0x00000ce4
    559c:	20000468 	.long	0x20000468
    55a0:	200004f4 	.long	0x200004f4

Disassembly of section .text.TempADC_Main:

000055a4 <TempADC_Main>:

void TempADC_Main(void)
{
    55a4:	14d0      	push      	r15
    ADSampling();
    55a6:	e3fffe55 	bsr      	0x5250	// 5250 <ADSampling>

    if(TempADC_Delay0ms_Output != 0) TempADC_Delay0ms_Output();
    55aa:	1067      	lrw      	r3, 0x200004f4	// 55c4 <TempADC_Main+0x20>
    55ac:	9360      	ld.w      	r3, (r3, 0x0)
    55ae:	3b40      	cmpnei      	r3, 0
    55b0:	0c02      	bf      	0x55b4	// 55b4 <TempADC_Main+0x10>
    55b2:	7bcd      	jsr      	r3
    if(RTD[0].status > 0)
    55b4:	1065      	lrw      	r3, 0x200004dc	// 55c8 <TempADC_Main+0x24>
    55b6:	9361      	ld.w      	r3, (r3, 0x4)
    55b8:	3b40      	cmpnei      	r3, 0
    55ba:	0c04      	bf      	0x55c2	// 55c2 <TempADC_Main+0x1e>
    { //烤炉探针出错
        LowTemp_Ctrl = 0; //延迟低盐检测10min
    55bc:	1064      	lrw      	r3, 0x20000190	// 55cc <TempADC_Main+0x28>
    55be:	3200      	movi      	r2, 0
    55c0:	a34c      	st.b      	r2, (r3, 0xc)
    }
}
    55c2:	1490      	pop      	r15
    55c4:	200004f4 	.long	0x200004f4
    55c8:	200004dc 	.long	0x200004dc
    55cc:	20000190 	.long	0x20000190

Disassembly of section .text.kalmanFilter:

000055d0 <kalmanFilter>:
 *@param KFP *kfp 卡尔曼结构体参数
 *   float input 需要滤波的参数的测量值（即传感器的采集值）
 *@return 滤波后的参数（最优值）
 */
float kalmanFilter(KFP_S *kfp,float input)
{
    55d0:	14d4      	push      	r4-r7, r15
    55d2:	1421      	subi      	r14, r14, 4
    55d4:	b820      	st.w      	r1, (r14, 0x0)
    55d6:	6d03      	mov      	r4, r0
    //预测协方差方程：k时刻系统估算协方差 = k-1时刻的系统协方差 + 过程噪声协方差
    kfp->Now_P = kfp->LastP + kfp->Q;
    55d8:	9024      	ld.w      	r1, (r0, 0x10)
    55da:	9000      	ld.w      	r0, (r0, 0x0)
    55dc:	e3ffd696 	bsr      	0x308	// 308 <__addsf3>
    55e0:	b401      	st.w      	r0, (r4, 0x4)
    
    //卡尔曼增益方程：卡尔曼增益 = k1-1时刻系统估算协方差 / （k时刻系统估算协方差 + 观测噪声协方差）
    kfp->Kg = kfp->Now_P  / (kfp->Now_P + kfp->R);
    55e2:	9425      	ld.w      	r1, (r4, 0x14)
    kfp->Now_P = kfp->LastP + kfp->Q;
    55e4:	6d43      	mov      	r5, r0
    kfp->Kg = kfp->Now_P  / (kfp->Now_P + kfp->R);
    55e6:	e3ffd691 	bsr      	0x308	// 308 <__addsf3>
    55ea:	6c43      	mov      	r1, r0
    55ec:	6c17      	mov      	r0, r5
    55ee:	e3ffd749 	bsr      	0x480	// 480 <__divsf3>
    //更新最优值方程：k时刻状态变量的最优值 = 状态变量的预测值 + 卡尔曼增益 * （测量值 - 状态变量的预测值）
    kfp->out = kfp->out + kfp->Kg * (input -kfp->out); //因为这一次的预测值就是上一次的输出值
    55f2:	9860      	ld.w      	r3, (r14, 0x0)
    55f4:	94e2      	ld.w      	r7, (r4, 0x8)
    kfp->Kg = kfp->Now_P  / (kfp->Now_P + kfp->R);
    55f6:	6d83      	mov      	r6, r0
    55f8:	b403      	st.w      	r0, (r4, 0xc)
    kfp->out = kfp->out + kfp->Kg * (input -kfp->out); //因为这一次的预测值就是上一次的输出值
    55fa:	6c5f      	mov      	r1, r7
    55fc:	6c0f      	mov      	r0, r3
    55fe:	e3ffd69b 	bsr      	0x334	// 334 <__subsf3>
    5602:	6c5b      	mov      	r1, r6
    5604:	e3ffd6b6 	bsr      	0x370	// 370 <__mulsf3>
    5608:	6c5f      	mov      	r1, r7
    560a:	e3ffd67f 	bsr      	0x308	// 308 <__addsf3>
    560e:	6dc3      	mov      	r7, r0
    5610:	b402      	st.w      	r0, (r4, 0x8)
    //更新协方差方程: 本次的系统协方差付给 kfp->LastP 威下一次运算准备。
    kfp->LastP = (1-kfp->Kg) * kfp->Now_P;
    5612:	30fe      	movi      	r0, 254
    5614:	6c5b      	mov      	r1, r6
    5616:	4016      	lsli      	r0, r0, 22
    5618:	e3ffd68e 	bsr      	0x334	// 334 <__subsf3>
    561c:	6c57      	mov      	r1, r5
    561e:	e3ffd6a9 	bsr      	0x370	// 370 <__mulsf3>
    5622:	b400      	st.w      	r0, (r4, 0x0)
    
    return kfp->out;
}
    5624:	6c1f      	mov      	r0, r7
    5626:	1401      	addi      	r14, r14, 4
    5628:	1494      	pop      	r4-r7, r15

Disassembly of section .text.MedianFilter:

0000562c <MedianFilter>:

//中位值平均滤波法
#define N 20
float MedianFilter(float xn)
{
    562c:	14d4      	push      	r4-r7, r15
    562e:	1422      	subi      	r14, r14, 8
    static float buffer[N];
    int i = 0;
    int j = 0;
    float temp = 0;

    buffer[index] = xn;
    5630:	1058      	lrw      	r2, 0x20000254	// 5690 <MedianFilter+0x64>
    5632:	5a8e      	addi      	r4, r2, 4
    5634:	9260      	ld.w      	r3, (r2, 0x0)
    5636:	4322      	lsli      	r1, r3, 2
    index++;
    5638:	2300      	addi      	r3, 1
    buffer[index] = xn;
    563a:	6050      	addu      	r1, r4
    if(index >= N) index = 0;
    563c:	3b33      	cmplti      	r3, 20
    buffer[index] = xn;
    563e:	b100      	st.w      	r0, (r1, 0x0)
    if(index >= N) index = 0;
    5640:	0802      	bt      	0x5644	// 5644 <MedianFilter+0x18>
    5642:	3300      	movi      	r3, 0
    index++;
    5644:	b260      	st.w      	r3, (r2, 0x0)
{
    5646:	3613      	movi      	r6, 19
    5648:	10b3      	lrw      	r5, 0x20000258	// 5694 <MedianFilter+0x68>
    564a:	3700      	movi      	r7, 0
    564c:	0411      	br      	0x566e	// 566e <MedianFilter+0x42>

    for (j = 0; j < (N - 1); j++)
    {
        for (i = 0; i < ((N - 1) - j); i++)
        {
            if (buffer[i] > buffer[i + 1])
    564e:	9560      	ld.w      	r3, (r5, 0x0)
    5650:	9541      	ld.w      	r2, (r5, 0x4)
    5652:	6c4b      	mov      	r1, r2
    5654:	6c0f      	mov      	r0, r3
    5656:	b841      	st.w      	r2, (r14, 0x4)
    5658:	b860      	st.w      	r3, (r14, 0x0)
    565a:	e3ffd7a7 	bsr      	0x5a8	// 5a8 <__gtsf2>
    565e:	3820      	cmplti      	r0, 1
    5660:	2700      	addi      	r7, 1
    5662:	0805      	bt      	0x566c	// 566c <MedianFilter+0x40>
            {
                temp = buffer[i];
                buffer[i] = buffer[i + 1];
    5664:	9841      	ld.w      	r2, (r14, 0x4)
                buffer[i + 1] = temp;
    5666:	9860      	ld.w      	r3, (r14, 0x0)
                buffer[i] = buffer[i + 1];
    5668:	b540      	st.w      	r2, (r5, 0x0)
                buffer[i + 1] = temp;
    566a:	b561      	st.w      	r3, (r5, 0x4)
    566c:	2503      	addi      	r5, 4
        for (i = 0; i < ((N - 1) - j); i++)
    566e:	659d      	cmplt      	r7, r6
    5670:	0bef      	bt      	0x564e	// 564e <MedianFilter+0x22>
    5672:	2e00      	subi      	r6, 1
    for (j = 0; j < (N - 1); j++)
    5674:	3e40      	cmpnei      	r6, 0
    5676:	0be9      	bt      	0x5648	// 5648 <MedianFilter+0x1c>
            }
        }
    }

    return ((buffer[(N-1)/2 + 1] + buffer[(N-1)/2] + buffer[(N-1)/2 - 1]) / 3);
    5678:	9429      	ld.w      	r1, (r4, 0x24)
    567a:	940a      	ld.w      	r0, (r4, 0x28)
    567c:	e3ffd646 	bsr      	0x308	// 308 <__addsf3>
    5680:	9428      	ld.w      	r1, (r4, 0x20)
    5682:	e3ffd643 	bsr      	0x308	// 308 <__addsf3>
    5686:	1025      	lrw      	r1, 0x40400000	// 5698 <MedianFilter+0x6c>
    5688:	e3ffd6fc 	bsr      	0x480	// 480 <__divsf3>
}
    568c:	1402      	addi      	r14, r14, 8
    568e:	1494      	pop      	r4-r7, r15
    5690:	20000254 	.long	0x20000254
    5694:	20000258 	.long	0x20000258
    5698:	40400000 	.long	0x40400000

Disassembly of section .text.MedianFilterA:

0000569c <MedianFilterA>:
float MedianFilterA(float xn)
{
    569c:	14d4      	push      	r4-r7, r15
    569e:	1422      	subi      	r14, r14, 8
    static float buffer[N];
    int i = 0;
    int j = 0;
    float temp = 0;

    buffer[index] = xn;
    56a0:	1059      	lrw      	r2, 0x20000254	// 5704 <MedianFilterA+0x68>
    56a2:	3458      	movi      	r4, 88
    56a4:	9275      	ld.w      	r3, (r2, 0x54)
    56a6:	4322      	lsli      	r1, r3, 2
    56a8:	6108      	addu      	r4, r2
    index++;
    56aa:	2300      	addi      	r3, 1
    buffer[index] = xn;
    56ac:	6050      	addu      	r1, r4
    if(index >= N) index = 0;
    56ae:	3b33      	cmplti      	r3, 20
    buffer[index] = xn;
    56b0:	b100      	st.w      	r0, (r1, 0x0)
    if(index >= N) index = 0;
    56b2:	0802      	bt      	0x56b6	// 56b6 <MedianFilterA+0x1a>
    56b4:	3300      	movi      	r3, 0
    index++;
    56b6:	b275      	st.w      	r3, (r2, 0x54)
{
    56b8:	3613      	movi      	r6, 19
    56ba:	10b4      	lrw      	r5, 0x200002ac	// 5708 <MedianFilterA+0x6c>
    56bc:	3700      	movi      	r7, 0
    56be:	0411      	br      	0x56e0	// 56e0 <MedianFilterA+0x44>

    for (j = 0; j < (N - 1); j++)
    {
        for (i = 0; i < ((N - 1) - j); i++)
        {
            if (buffer[i] > buffer[i + 1])
    56c0:	9560      	ld.w      	r3, (r5, 0x0)
    56c2:	9541      	ld.w      	r2, (r5, 0x4)
    56c4:	6c4b      	mov      	r1, r2
    56c6:	6c0f      	mov      	r0, r3
    56c8:	b841      	st.w      	r2, (r14, 0x4)
    56ca:	b860      	st.w      	r3, (r14, 0x0)
    56cc:	e3ffd76e 	bsr      	0x5a8	// 5a8 <__gtsf2>
    56d0:	3820      	cmplti      	r0, 1
    56d2:	2700      	addi      	r7, 1
    56d4:	0805      	bt      	0x56de	// 56de <MedianFilterA+0x42>
            {
                temp = buffer[i];
                buffer[i] = buffer[i + 1];
    56d6:	9841      	ld.w      	r2, (r14, 0x4)
                buffer[i + 1] = temp;
    56d8:	9860      	ld.w      	r3, (r14, 0x0)
                buffer[i] = buffer[i + 1];
    56da:	b540      	st.w      	r2, (r5, 0x0)
                buffer[i + 1] = temp;
    56dc:	b561      	st.w      	r3, (r5, 0x4)
    56de:	2503      	addi      	r5, 4
        for (i = 0; i < ((N - 1) - j); i++)
    56e0:	659d      	cmplt      	r7, r6
    56e2:	0bef      	bt      	0x56c0	// 56c0 <MedianFilterA+0x24>
    56e4:	2e00      	subi      	r6, 1
    for (j = 0; j < (N - 1); j++)
    56e6:	3e40      	cmpnei      	r6, 0
    56e8:	0be9      	bt      	0x56ba	// 56ba <MedianFilterA+0x1e>
            }
        }
    }

    return ((buffer[(N-1)/2 + 1] + buffer[(N-1)/2] + buffer[(N-1)/2 - 1]) / 3);
    56ea:	9429      	ld.w      	r1, (r4, 0x24)
    56ec:	940a      	ld.w      	r0, (r4, 0x28)
    56ee:	e3ffd60d 	bsr      	0x308	// 308 <__addsf3>
    56f2:	9428      	ld.w      	r1, (r4, 0x20)
    56f4:	e3ffd60a 	bsr      	0x308	// 308 <__addsf3>
    56f8:	1025      	lrw      	r1, 0x40400000	// 570c <MedianFilterA+0x70>
    56fa:	e3ffd6c3 	bsr      	0x480	// 480 <__divsf3>
}
    56fe:	1402      	addi      	r14, r14, 8
    5700:	1494      	pop      	r4-r7, r15
    5702:	0000      	bkpt
    5704:	20000254 	.long	0x20000254
    5708:	200002ac 	.long	0x200002ac
    570c:	40400000 	.long	0x40400000

Disassembly of section .text.MedianFilterB:

00005710 <MedianFilterB>:
float MedianFilterB(float xn)
{
    5710:	14d4      	push      	r4-r7, r15
    5712:	1422      	subi      	r14, r14, 8
    static float buffer[N];
    int i = 0;
    int j = 0;
    float temp = 0;

    buffer[index] = xn;
    5714:	1059      	lrw      	r2, 0x200002d4	// 5778 <MedianFilterB+0x68>
    5716:	926a      	ld.w      	r3, (r2, 0x28)
    5718:	342c      	movi      	r4, 44
    571a:	4322      	lsli      	r1, r3, 2
    571c:	6108      	addu      	r4, r2
    index++;
    571e:	2300      	addi      	r3, 1
    buffer[index] = xn;
    5720:	6050      	addu      	r1, r4
    if(index >= N) index = 0;
    5722:	3b33      	cmplti      	r3, 20
    buffer[index] = xn;
    5724:	b100      	st.w      	r0, (r1, 0x0)
    if(index >= N) index = 0;
    5726:	0802      	bt      	0x572a	// 572a <MedianFilterB+0x1a>
    5728:	3300      	movi      	r3, 0
    index++;
    572a:	b26a      	st.w      	r3, (r2, 0x28)
{
    572c:	3613      	movi      	r6, 19
    572e:	10b4      	lrw      	r5, 0x20000300	// 577c <MedianFilterB+0x6c>
    5730:	3700      	movi      	r7, 0
    5732:	0411      	br      	0x5754	// 5754 <MedianFilterB+0x44>

    for (j = 0; j < (N - 1); j++)
    {
        for (i = 0; i < ((N - 1) - j); i++)
        {
            if (buffer[i] > buffer[i + 1])
    5734:	9560      	ld.w      	r3, (r5, 0x0)
    5736:	9541      	ld.w      	r2, (r5, 0x4)
    5738:	6c4b      	mov      	r1, r2
    573a:	6c0f      	mov      	r0, r3
    573c:	b841      	st.w      	r2, (r14, 0x4)
    573e:	b860      	st.w      	r3, (r14, 0x0)
    5740:	e3ffd734 	bsr      	0x5a8	// 5a8 <__gtsf2>
    5744:	3820      	cmplti      	r0, 1
    5746:	2700      	addi      	r7, 1
    5748:	0805      	bt      	0x5752	// 5752 <MedianFilterB+0x42>
            {
                temp = buffer[i];
                buffer[i] = buffer[i + 1];
    574a:	9841      	ld.w      	r2, (r14, 0x4)
                buffer[i + 1] = temp;
    574c:	9860      	ld.w      	r3, (r14, 0x0)
                buffer[i] = buffer[i + 1];
    574e:	b540      	st.w      	r2, (r5, 0x0)
                buffer[i + 1] = temp;
    5750:	b561      	st.w      	r3, (r5, 0x4)
    5752:	2503      	addi      	r5, 4
        for (i = 0; i < ((N - 1) - j); i++)
    5754:	659d      	cmplt      	r7, r6
    5756:	0bef      	bt      	0x5734	// 5734 <MedianFilterB+0x24>
    5758:	2e00      	subi      	r6, 1
    for (j = 0; j < (N - 1); j++)
    575a:	3e40      	cmpnei      	r6, 0
    575c:	0be9      	bt      	0x572e	// 572e <MedianFilterB+0x1e>
            }
        }
    }

    return ((buffer[(N-1)/2 + 1] + buffer[(N-1)/2] + buffer[(N-1)/2 - 1]) / 3);
    575e:	9429      	ld.w      	r1, (r4, 0x24)
    5760:	940a      	ld.w      	r0, (r4, 0x28)
    5762:	e3ffd5d3 	bsr      	0x308	// 308 <__addsf3>
    5766:	9428      	ld.w      	r1, (r4, 0x20)
    5768:	e3ffd5d0 	bsr      	0x308	// 308 <__addsf3>
    576c:	1025      	lrw      	r1, 0x40400000	// 5780 <MedianFilterB+0x70>
    576e:	e3ffd689 	bsr      	0x480	// 480 <__divsf3>
}
    5772:	1402      	addi      	r14, r14, 8
    5774:	1494      	pop      	r4-r7, r15
    5776:	0000      	bkpt
    5778:	200002d4 	.long	0x200002d4
    577c:	20000300 	.long	0x20000300
    5780:	40400000 	.long	0x40400000
